Run Information
Improvements in System.Memory.Constructors<String>
| Benchmark |
Baseline |
Test |
Test/Base |
Test Quality |
Edge Detector |
Baseline IR |
Compare IR |
IR Ratio |
|
3.31 ns |
2.09 ns |
0.63 |
0.25 |
False |
|
|
|
|
7.61 ns |
3.32 ns |
0.44 |
0.54 |
False |
|
|
|
|
5.01 ns |
2.90 ns |
0.58 |
0.41 |
False |
|
|
|
|
4.59 ns |
2.22 ns |
0.48 |
0.43 |
False |
|
|
|
|
1.89 ns |
0.02 ns |
0.01 |
0.29 |
True |
|
|
|
|
9.33 ns |
3.63 ns |
0.39 |
0.50 |
False |
|
|
|
|
6.39 ns |
2.79 ns |
0.44 |
0.42 |
False |
|
|
|
|
6.43 ns |
2.78 ns |
0.43 |
0.41 |
False |
|
|
|
|
7.19 ns |
2.90 ns |
0.40 |
0.42 |
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.Constructors<String>*'
Details
Payloads
Baseline
Compare
System.Memory.Constructors<String>.ReadOnlySpanFromMemory
ETL Files
Histogram
JIT Disasms
System.Memory.Constructors<String>.ArrayAsMemory
ETL Files
Histogram
JIT Disasms
System.Memory.Constructors<String>.ArrayAsSpan
ETL Files
Histogram
JIT Disasms
System.Memory.Constructors<String>.SpanFromArrayStartLength
ETL Files
Histogram
JIT Disasms
System.Memory.Constructors<String>.ReadOnlySpanImplicitCastFromSpan
ETL Files
Histogram
JIT Disasms
System.Memory.Constructors<String>.ArrayAsMemoryStartLength
ETL Files
Histogram
JIT Disasms
System.Memory.Constructors<String>.MemoryFromArrayStartLength
ETL Files
Histogram
JIT Disasms
System.Memory.Constructors<String>.MemoryFromArray
ETL Files
Histogram
JIT Disasms
System.Memory.Constructors<String>.ArrayAsSpanStartLength
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>
| Benchmark |
Baseline |
Test |
Test/Base |
Test Quality |
Edge Detector |
Baseline IR |
Compare IR |
IR Ratio |
|
9.98 μs |
8.33 μs |
0.83 |
0.11 |
False |
|
|
|
|
11.60 μs |
10.35 μs |
0.89 |
0.08 |
False |
|
|
|
|
12.49 μs |
11.59 μs |
0.93 |
0.06 |
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.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>*'
Details
Payloads
Baseline
Compare
System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToWriter(Mode: SourceGen)
ETL Files
Histogram
JIT Disasms
System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToStream(Mode: Reflection)
ETL Files
Histogram
JIT Disasms
System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeObjectProperty(Mode: Reflection)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in System.Text.Json.Node.Tests.Perf_ParseThenWrite
| Benchmark |
Baseline |
Test |
Test/Base |
Test Quality |
Edge Detector |
Baseline IR |
Compare IR |
IR Ratio |
|
4.31 μs |
3.98 μs |
0.92 |
0.02 |
False |
|
|
|
|
3.88 μs |
3.66 μs |
0.94 |
0.10 |
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.Text.Json.Node.Tests.Perf_ParseThenWrite*'
Details
Payloads
Baseline
Compare
System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: Json400B)
ETL Files
Histogram
JIT Disasms
System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json400B)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in System.Collections.CreateAddAndRemove<String>
| Benchmark |
Baseline |
Test |
Test/Base |
Test Quality |
Edge Detector |
Baseline IR |
Compare IR |
IR Ratio |
|
3.70 μs |
3.38 μs |
0.91 |
0.00 |
False |
|
|
|
|
4.46 μs |
4.02 μs |
0.90 |
0.00 |
True |
|
|
|
|
14.74 μs |
12.97 μs |
0.88 |
0.08 |
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.CreateAddAndRemove<String>*'
Details
Payloads
Baseline
Compare
System.Collections.CreateAddAndRemove<String>.Stack(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.CreateAddAndRemove<String>.Queue(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.CreateAddAndRemove<String>.LinkedList(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.Memory.Constructors<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.Memory.Constructors<String>.ReadOnlySpanFromMemory
ETL Files
Histogram
JIT Disasms
System.Memory.Constructors<String>.ArrayAsMemory
ETL Files
Histogram
JIT Disasms
System.Memory.Constructors<String>.ArrayAsSpan
ETL Files
Histogram
JIT Disasms
System.Memory.Constructors<String>.SpanFromArrayStartLength
ETL Files
Histogram
JIT Disasms
System.Memory.Constructors<String>.ReadOnlySpanImplicitCastFromSpan
ETL Files
Histogram
JIT Disasms
System.Memory.Constructors<String>.ArrayAsMemoryStartLength
ETL Files
Histogram
JIT Disasms
System.Memory.Constructors<String>.MemoryFromArrayStartLength
ETL Files
Histogram
JIT Disasms
System.Memory.Constructors<String>.MemoryFromArray
ETL Files
Histogram
JIT Disasms
System.Memory.Constructors<String>.ArrayAsSpanStartLength
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, 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.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToWriter(Mode: SourceGen)
ETL Files
Histogram
JIT Disasms
System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToStream(Mode: Reflection)
ETL Files
Histogram
JIT Disasms
System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeObjectProperty(Mode: Reflection)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in System.Text.Json.Node.Tests.Perf_ParseThenWrite
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Details
Payloads
Baseline
Compare
System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: Json400B)
ETL Files
Histogram
JIT Disasms
System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json400B)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in System.Collections.CreateAddAndRemove<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.CreateAddAndRemove<String>.Stack(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.CreateAddAndRemove<String>.Queue(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.CreateAddAndRemove<String>.LinkedList(Size: 512)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository