dotnet / perf-autofiling-issues

A landing place for auto-filed performance issues before they receive triage
MIT License
9 stars 4 forks source link

[Perf] Windows/x86: 37 Improvements on 7/9/2024 1:59:56 PM #38356

Open performanceautofiler[bot] opened 4 months ago

performanceautofiler[bot] commented 4 months ago

Run Information

Name Value
Architecture x86
OS Windows 10.0.22621
Queue TigerWindows
Baseline 13cf2649ad245ede1ed6e790079955db4c2fea54
Compare 5795e8c056c14741b80dfa304a974f5c0d72432a
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Numerics.Tests.Perf_BigInteger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
9.25 ns 6.13 ns 0.66 0.03 False
9.31 ns 6.14 ns 0.66 0.02 False

graph graph 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.Numerics.Tests.Perf_BigInteger*'
### System.Numerics.Tests.Perf_BigInteger.Multiply(arguments: 16,16 bits) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BigInteger.Multiply(arguments: 16,8 bits) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x86
OS Windows 10.0.22621
Queue TigerWindows
Baseline 13cf2649ad245ede1ed6e790079955db4c2fea54
Compare 5795e8c056c14741b80dfa304a974f5c0d72432a
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Buffers.Tests.ReadOnlySequenceTests<Char>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
9.09 ns 6.59 ns 0.73 0.02 True
8.98 ns 6.07 ns 0.68 0.00 True
35.20 ns 15.11 ns 0.43 0.01 True
8.51 ns 6.03 ns 0.71 0.01 True
64.86 ns 44.41 ns 0.68 0.02 False
37.23 ns 17.65 ns 0.47 0.06 True
24.93 ns 6.67 ns 0.27 0.05 True
52.15 ns 34.01 ns 0.65 0.02 False
84.81 ns 57.51 ns 0.68 0.01 True
56.76 ns 41.26 ns 0.73 0.03 False

graph graph graph graph graph graph graph graph graph graph 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.Buffers.Tests.ReadOnlySequenceTests&lt;Char&gt;*'
### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstSpanMemory #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstSpanTenSegments #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateForEachSingleSegment #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstSpanArray #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionMemory #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateForEachMemory #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateForEachArray #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionArray #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateForEachTenSegments #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionSingleSegment #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x86
OS Windows 10.0.22621
Queue TigerWindows
Baseline 13cf2649ad245ede1ed6e790079955db4c2fea54
Compare 5795e8c056c14741b80dfa304a974f5c0d72432a
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Memory.ReadOnlySpan

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
5.02 ns 1.83 ns 0.36 0.05 False
4.08 ns 1.46 ns 0.36 0.05 False

graph graph 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.ReadOnlySpan*'
### System.Memory.ReadOnlySpan.Trim(input: "abcdefg") #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySpan.Trim(input: "") #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x86
OS Windows 10.0.22621
Queue TigerWindows
Baseline 13cf2649ad245ede1ed6e790079955db4c2fea54
Compare 5795e8c056c14741b80dfa304a974f5c0d72432a
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Int128

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
9.77 ns 4.52 ns 0.46 0.15 True
61.93 ns 43.81 ns 0.71 0.19 True
61.91 ns 43.27 ns 0.70 0.21 True
15.78 ns 13.10 ns 0.83 0.04 False
60.84 ns 44.00 ns 0.72 0.18 True
62.08 ns 43.98 ns 0.71 0.21 True

graph graph graph graph graph graph 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_Int128*'
### System.Tests.Perf_Int128.CopySign(value: 1, sign: -1) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int128.ParseSpan(value: "12345") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int128.Parse(value: "12345") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int128.TryFormat(value: 12345) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int128.TryParseSpan(value: "12345") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int128.TryParse(value: "12345") #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x86
OS Windows 10.0.22621
Queue TigerWindows
Baseline 13cf2649ad245ede1ed6e790079955db4c2fea54
Compare 5795e8c056c14741b80dfa304a974f5c0d72432a
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Buffers.Tests.ReadOnlySequenceTests<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
56.66 ns 42.26 ns 0.75 0.03 False
8.75 ns 5.88 ns 0.67 0.00 True
9.64 ns 7.07 ns 0.73 0.10 False
59.39 ns 44.61 ns 0.75 0.01 False
8.49 ns 5.80 ns 0.68 0.01 True
7.71 ns 6.46 ns 0.84 0.08 False
51.95 ns 34.67 ns 0.67 0.02 False

graph graph graph graph graph graph graph 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.Buffers.Tests.ReadOnlySequenceTests&lt;Byte&gt;*'
### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.IterateGetPositionSingleSegment #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.FirstSpanSingleSegment #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.FirstSpanMemory #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.IterateGetPositionMemory #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.FirstSpanTenSegments #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.FirstSpanArray #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.IterateGetPositionArray #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x86
OS Windows 10.0.22621
Queue TigerWindows
Baseline 13cf2649ad245ede1ed6e790079955db4c2fea54
Compare 5795e8c056c14741b80dfa304a974f5c0d72432a
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Collections.IterateForEach<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
979.36 ns 193.46 ns 0.20 0.01 True
863.70 ns 174.12 ns 0.20 0.05 True

graph graph 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.IterateForEach&lt;Int32&gt;*'
### System.Collections.IterateForEach<Int32>.FrozenDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.FrozenSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x86
OS Windows 10.0.22621
Queue TigerWindows
Baseline 13cf2649ad245ede1ed6e790079955db4c2fea54
Compare 5795e8c056c14741b80dfa304a974f5c0d72432a
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Memory.ReadOnlySequence

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
16.82 ns 14.67 ns 0.87 0.07 False
73.54 ns 64.43 ns 0.88 0.01 False

graph graph 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.ReadOnlySequence*'
### System.Memory.ReadOnlySequence.Slice_Start_And_Length(Segment: Multiple) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySequence.Slice_Repeat(Segment: Multiple) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 4 months ago

Run Information

Name Value
Architecture x86
OS Windows 10.0.22621
Queue TigerWindows
Baseline 13cf2649ad245ede1ed6e790079955db4c2fea54
Compare 5795e8c056c14741b80dfa304a974f5c0d72432a
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
268.30 ns 251.83 ns 0.94 0.01 False

graph 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.ReadJson&lt;Nullable&lt;DateTimeOffset&gt;&gt;*'
### System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>.DeserializeFromReader(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x86
OS Windows 10.0.22621
Queue TigerWindows
Baseline 13cf2649ad245ede1ed6e790079955db4c2fea54
Compare 5795e8c056c14741b80dfa304a974f5c0d72432a
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in Benchmark.GetChildKeysTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
414.95 Ξs 371.29 Ξs 0.89 0.01 False
396.39 Ξs 370.64 Ξs 0.94 0.01 False

graph graph 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 'Benchmark.GetChildKeysTests*'
### Benchmark.GetChildKeysTests.AddChainedConfigurationWithSplitting #### ETL Files #### Histogram #### JIT Disasms ### Benchmark.GetChildKeysTests.AddChainedConfigurationWithCommonPaths #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x86
OS Windows 10.0.22621
Queue TigerWindows
Baseline 13cf2649ad245ede1ed6e790079955db4c2fea54
Compare 5795e8c056c14741b80dfa304a974f5c0d72432a
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.IO.Pipelines.Tests.Perf_Pipe

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.11 ms 1.04 ms 0.93 0.03 False
1.12 ms 1.03 ms 0.93 0.02 False

graph graph 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.IO.Pipelines.Tests.Perf_Pipe*'
### System.IO.Pipelines.Tests.Perf_Pipe.SyncReadAsyncWithCancellationToken #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Pipelines.Tests.Perf_Pipe.SyncReadAsync #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x86
OS Windows 10.0.22621
Queue TigerWindows
Baseline 13cf2649ad245ede1ed6e790079955db4c2fea54
Compare 5795e8c056c14741b80dfa304a974f5c0d72432a
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Improvements in System.Tests.Perf_Guid

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
50.71 ns 45.84 ns 0.90 0.02 False

graph 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_Guid*'
### System.Tests.Perf_Guid.ParseExactD #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)