dotnet/runtime
Span<ReferenceType>.CopyTo is 10-20% slower than Array<ReferenceType>.CopyTo
Closed
#29,093 opened on Mar 27, 2019
area-CodeGen-coreclrhelp wantedtenet-performance
Repository metrics
- Stars
- (17,886 stars)
- PR merge metrics
- (Avg merge 12d 11h) (661 merged PRs in 30d)
Description
How to run the benchmarks:
git clone https://github.com/dotnet/performance.git
# if you have .NET Core 3.0 installed
dotnet run -c Release -f netcoreapp3.0 -p .\performance\src\benchmarks\micro\MicroBenchmarks.csproj --filter *CopyTo<String>*.Array *CopyTo<String>.Span --join --affinity 2
# if you don't have .NET Core 3.0 installed
py .\performance\scripts\benchmarks_ci.py -f netcoreapp3.0 --filter *CopyTo<String>*.Array *CopyTo<String>.Span --bdn-arguments="--join true --affinity 2"
| Method | Size | Mean |
|---|---|---|
| Array | 2048 | 511.1 ns |
| Span | 2048 | 609.9 ns |
Full docs for the new benchmarking workflow: https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-corefx.md
category:cq theme:optimization skill-level:expert cost:medium