Run Information
Improvements in System.Collections.IterateForEachNonGeneric<String>
| Benchmark |
Baseline |
Test |
Test/Base |
Test Quality |
Edge Detector |
Baseline IR |
Compare IR |
IR Ratio |
|
1.62 μs |
1.47 μs |
0.91 |
0.02 |
False |
|
|
|
|
2.91 μs |
2.27 μs |
0.78 |
0.03 |
False |
|
|
|
|
1.46 μs |
1.31 μs |
0.90 |
0.00 |
True |
|
|
|



Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForEachNonGeneric<String>*'
Details
Payloads
Baseline
Compare
System.Collections.IterateForEachNonGeneric<String>.Stack(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.IterateForEachNonGeneric<String>.Queue(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.IterateForEachNonGeneric<String>.ArrayList(Size: 512)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in IfStatements.IfStatements
| Benchmark |
Baseline |
Test |
Test/Base |
Test Quality |
Edge Detector |
Baseline IR |
Compare IR |
IR Ratio |
|
34.31 μs |
31.30 μs |
0.91 |
0.03 |
False |
|
|
|
|
34.31 μs |
28.08 μs |
0.82 |
0.03 |
False |
|
|
|


Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'IfStatements.IfStatements*'
Details
Payloads
Baseline
Compare
IfStatements.IfStatements.And
ETL Files
Histogram
JIT Disasms
IfStatements.IfStatements.Single
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in System.Collections.ContainsKeyTrue<Int32, Int32>
| Benchmark |
Baseline |
Test |
Test/Base |
Test Quality |
Edge Detector |
Baseline IR |
Compare IR |
IR Ratio |
|
3.44 μs |
3.20 μs |
0.93 |
0.17 |
False |
|
|
|
|
2.81 μs |
2.63 μs |
0.94 |
0.13 |
False |
|
|
|


Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsKeyTrue<Int32, Int32>*'
Details
Payloads
Baseline
Compare
System.Collections.ContainsKeyTrue<Int32, Int32>.Dictionary(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.ContainsKeyTrue<Int32, Int32>.ConcurrentDictionary(Size: 512)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in System.Tests.Perf_String
| Benchmark |
Baseline |
Test |
Test/Base |
Test Quality |
Edge Detector |
Baseline IR |
Compare IR |
IR Ratio |
|
137.82 ns |
116.40 ns |
0.84 |
0.03 |
False |
|
|
|
|
67.28 ns |
46.00 ns |
0.68 |
0.01 |
False |
|
|
|
|
66.19 ns |
44.53 ns |
0.67 |
0.01 |
False |
|
|
|



Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_String*'
Details
Payloads
Baseline
Compare
System.Tests.Perf_String.IndexerCheckPathLength
ETL Files
Histogram
JIT Disasms
System.Tests.Perf_String.IndexerCheckBoundCheckHoist
ETL Files
Histogram
JIT Disasms
System.Tests.Perf_String.IndexerCheckLengthHoisting
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in Benchstone.BenchI.BenchE
| Benchmark |
Baseline |
Test |
Test/Base |
Test Quality |
Edge Detector |
Baseline IR |
Compare IR |
IR Ratio |
|
344.42 ms |
298.38 ms |
0.87 |
0.02 |
False |
|
|
|

Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Benchstone.BenchI.BenchE*'
Details
Payloads
Baseline
Compare
Benchstone.BenchI.BenchE.Test
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in PerfLabTests.LowLevelPerf
| Benchmark |
Baseline |
Test |
Test/Base |
Test Quality |
Edge Detector |
Baseline IR |
Compare IR |
IR Ratio |
|
871.38 μs |
779.57 μs |
0.89 |
0.02 |
False |
|
|
|
|
187.10 μs |
156.44 μs |
0.84 |
0.02 |
False |
|
|
|
|
187.10 μs |
162.87 μs |
0.87 |
0.02 |
False |
|
|
|



Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'PerfLabTests.LowLevelPerf*'
Details
Payloads
Baseline
Compare
PerfLabTests.LowLevelPerf.InterfaceInterfaceMethodSwitchCallType
ETL Files
Histogram
JIT Disasms
PerfLabTests.LowLevelPerf.StructWithInterfaceInterfaceMethod
ETL Files
Histogram
JIT Disasms
PerfLabTests.LowLevelPerf.GenericClassGenericStaticMethod
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in PerfLabTests.CastingPerf2.CastingPerf
| Benchmark |
Baseline |
Test |
Test/Base |
Test Quality |
Edge Detector |
Baseline IR |
Compare IR |
IR Ratio |
|
406.64 μs |
362.65 μs |
0.89 |
0.13 |
False |
|
|
|
|
341.26 μs |
282.48 μs |
0.83 |
0.02 |
False |
|
|
|
|
227.10 μs |
187.32 μs |
0.82 |
0.02 |
False |
|
|
|



Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'PerfLabTests.CastingPerf2.CastingPerf*'
Details
Payloads
Baseline
Compare
PerfLabTests.CastingPerf2.CastingPerf.FooObjCastIfIsa
ETL Files
Histogram
JIT Disasms
PerfLabTests.CastingPerf2.CastingPerf.ScalarValueTypeObj
ETL Files
Histogram
JIT Disasms
PerfLabTests.CastingPerf2.CastingPerf.IntObj
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in System.Memory.Span<Char>
| Benchmark |
Baseline |
Test |
Test/Base |
Test Quality |
Edge Detector |
Baseline IR |
Compare IR |
IR Ratio |
|
20.58 ns |
14.23 ns |
0.69 |
0.46 |
False |
|
|
|
|
16.02 ns |
13.75 ns |
0.86 |
0.04 |
False |
|
|
|


Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span<Char>*'
Details
Payloads
Baseline
Compare
System.Memory.Span<Char>.Fill(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Memory.Span<Char>.IndexOfValue(Size: 512)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in System.Collections.IterateForEachNonGeneric<String>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Details
Payloads
Baseline
Compare
System.Collections.IterateForEachNonGeneric<String>.Stack(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.IterateForEachNonGeneric<String>.Queue(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.IterateForEachNonGeneric<String>.ArrayList(Size: 512)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in IfStatements.IfStatements
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Details
Payloads
Baseline
Compare
IfStatements.IfStatements.And
ETL Files
Histogram
JIT Disasms
IfStatements.IfStatements.Single
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in System.Collections.ContainsKeyTrue<Int32, Int32>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Details
Payloads
Baseline
Compare
System.Collections.ContainsKeyTrue<Int32, Int32>.Dictionary(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.ContainsKeyTrue<Int32, Int32>.ConcurrentDictionary(Size: 512)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in System.Tests.Perf_String
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Details
Payloads
Baseline
Compare
System.Tests.Perf_String.IndexerCheckPathLength
ETL Files
Histogram
JIT Disasms
System.Tests.Perf_String.IndexerCheckBoundCheckHoist
ETL Files
Histogram
JIT Disasms
System.Tests.Perf_String.IndexerCheckLengthHoisting
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in Benchstone.BenchI.BenchE
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Details
Payloads
Baseline
Compare
Benchstone.BenchI.BenchE.Test
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in PerfLabTests.LowLevelPerf
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Details
Payloads
Baseline
Compare
PerfLabTests.LowLevelPerf.InterfaceInterfaceMethodSwitchCallType
ETL Files
Histogram
JIT Disasms
PerfLabTests.LowLevelPerf.StructWithInterfaceInterfaceMethod
ETL Files
Histogram
JIT Disasms
PerfLabTests.LowLevelPerf.GenericClassGenericStaticMethod
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in PerfLabTests.CastingPerf2.CastingPerf
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Details
Payloads
Baseline
Compare
PerfLabTests.CastingPerf2.CastingPerf.FooObjCastIfIsa
ETL Files
Histogram
JIT Disasms
PerfLabTests.CastingPerf2.CastingPerf.ScalarValueTypeObj
ETL Files
Histogram
JIT Disasms
PerfLabTests.CastingPerf2.CastingPerf.IntObj
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in System.Memory.Span<Char>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Details
Payloads
Baseline
Compare
System.Memory.Span<Char>.Fill(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Memory.Span<Char>.IndexOfValue(Size: 512)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository