[Perf] Linux/x64: 146 Improvements on 7/15/2024 10:11:33 PM #38859
Description
Run Information
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | e1ab2243b27da4aa8a76372e4384bcd2b5894b3b |
Compare | bc9b3b61a4fda49ee9c964c96f2b9ec3730e6b71 |
Diff | Diff |
Configs | AOT:true, CompilationMode:wasm, RunKind:micro |
Improvements in System.IO.Tests.StreamReaderReadLineTests
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
40.48 μs | 31.82 μs | 0.79 | 0.03 | False | ||||
91.96 μs | 83.69 μs | 0.91 | 0.06 | False | ||||
20.65 μs | 16.45 μs | 0.80 | 0.02 | False | ||||
21.09 μs | 16.55 μs | 0.78 | 0.02 | False |
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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.StreamReaderReadLineTests*'
System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange: [ 33, 128])
ETL Files
Histogram
JIT Disasms
System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange: [ 9, 32])
ETL Files
Histogram
JIT Disasms
System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange: [ 129, 1024])
ETL Files
Histogram
JIT Disasms
System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange: [ 0, 1024])
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | e1ab2243b27da4aa8a76372e4384bcd2b5894b3b |
Compare | 2b3088b99e97f0d6d3dd24dcd41ab330757f5aa2 |
Diff | Diff |
Configs | AOT:true, CompilationMode:wasm, RunKind:micro |
Improvements in System.Collections.CtorGivenSize<String>
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
206.59 ns | 136.01 ns | 0.66 | 0.03 | True | ||||
460.82 ns | 317.71 ns | 0.69 | 0.02 | True | ||||
226.94 ns | 160.22 ns | 0.71 | 0.04 | True | ||||
221.93 ns | 151.20 ns | 0.68 | 0.01 | True | ||||
3.26 μs | 1.96 μs | 0.60 | 0.08 | True | ||||
839.64 ns | 584.11 ns | 0.70 | 0.01 | True |
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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorGivenSize<String>*'
System.Collections.CtorGivenSize<String>.Array(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.CtorGivenSize<String>.SortedList(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.CtorGivenSize<String>.Queue(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.CtorGivenSize<String>.List(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.CtorGivenSize<String>.Dictionary(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.CtorGivenSize<String>.HashSet(Size: 512)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | e1ab2243b27da4aa8a76372e4384bcd2b5894b3b |
Compare | bc9b3b61a4fda49ee9c964c96f2b9ec3730e6b71 |
Diff | Diff |
Configs | AOT:true, CompilationMode:wasm, RunKind:micro |
Improvements in Struct.SpanWrapper
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
10.90 μs | 4.69 μs | 0.43 | 0.01 | False |
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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Struct.SpanWrapper*'
Struct.SpanWrapper.WrapperSum
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | e1ab2243b27da4aa8a76372e4384bcd2b5894b3b |
Compare | bc9b3b61a4fda49ee9c964c96f2b9ec3730e6b71 |
Diff | Diff |
Configs | AOT:true, CompilationMode:wasm, RunKind:micro |
Improvements in System.Memory.Span<Byte>
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
31.27 ns | 11.89 ns | 0.38 | 0.46 | False | ||||
106.98 ns | 56.27 ns | 0.53 | 0.19 | False |
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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span<Byte>*'
System.Memory.Span<Byte>.Clear(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Memory.Span<Byte>.ToArray(Size: 512)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | e1ab2243b27da4aa8a76372e4384bcd2b5894b3b |
Compare | bc9b3b61a4fda49ee9c964c96f2b9ec3730e6b71 |
Diff | Diff |
Configs | AOT:true, CompilationMode:wasm, RunKind:micro |
Improvements in System.Text.Json.Serialization.Tests.ReadJson<BinaryData>
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
3.49 μs | 2.77 μs | 0.79 | 0.01 | False | ||||
4.02 μs | 2.86 μs | 0.71 | 0.02 | False | ||||
2.81 μs | 2.19 μs | 0.78 | 0.01 | False | ||||
3.10 μs | 2.44 μs | 0.79 | 0.03 | False |
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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson<BinaryData>*'
System.Text.Json.Serialization.Tests.ReadJson<BinaryData>.DeserializeFromString(Mode: Reflection)
ETL Files
Histogram
JIT Disasms
System.Text.Json.Serialization.Tests.ReadJson<BinaryData>.DeserializeFromReader(Mode: SourceGen)
ETL Files
Histogram
JIT Disasms
System.Text.Json.Serialization.Tests.ReadJson<BinaryData>.DeserializeFromUtf8Bytes(Mode: SourceGen)
ETL Files
Histogram
JIT Disasms
System.Text.Json.Serialization.Tests.ReadJson<BinaryData>.DeserializeFromUtf8Bytes(Mode: Reflection)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Activity