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] Linux/x64: 35 Improvements on 3/18/2024 12:41:31 PM #31651

Open performanceautofiler[bot] opened 6 months ago

performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 0935105e91450a1bad02b5b2f83be52bea2bcf59
Compare 5fda47434cecc590095e9aef3c4e560b7b7ebb47
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Perf_Frozen<NotKnownComparable>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
14.34 μs 4.12 μs 0.29 0.09 True
18.72 μs 5.51 μs 0.29 0.10 True
113.32 μs 33.73 μs 0.30 0.07 True
1.31 μs 261.67 ns 0.20 0.06 True
144.36 μs 46.57 μs 0.32 0.11 True
1.54 μs 334.43 ns 0.22 0.09 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Perf_Frozen&lt;NotKnownComparable&gt;*'
### System.Collections.Perf_Frozen<NotKnownComparable>.Contains_True(Count: 64) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<NotKnownComparable>.TryGetValue_True(Count: 64) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<NotKnownComparable>.Contains_True(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<NotKnownComparable>.Contains_True(Count: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<NotKnownComparable>.TryGetValue_True(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<NotKnownComparable>.TryGetValue_True(Count: 4) #### 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 x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 0935105e91450a1bad02b5b2f83be52bea2bcf59
Compare 5fda47434cecc590095e9aef3c4e560b7b7ebb47
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in PerfLabTests.EnumPerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
31.07 ns 5.50 ns 0.18 0.31 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'PerfLabTests.EnumPerf*'
### PerfLabTests.EnumPerf.ObjectGetType #### 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 x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 0935105e91450a1bad02b5b2f83be52bea2bcf59
Compare 5fda47434cecc590095e9aef3c4e560b7b7ebb47
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
8.29 ms 4.56 ms 0.55 0.07 False
3.64 ms 1.92 ms 0.53 0.12 True
279.51 μs 168.96 μs 0.60 0.07 False
42.27 μs 24.88 μs 0.59 0.08 False
584.57 μs 323.46 μs 0.55 0.11 True
26.56 μs 15.08 μs 0.57 0.07 True
242.97 μs 135.35 μs 0.56 0.09 True
9.80 μs 5.64 μs 0.58 0.08 False
8.16 μs 4.89 μs 0.60 0.09 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Perf_PriorityQueue&lt;Guid, Guid&gt;*'
### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.Dequeue_And_Enqueue(Size: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.HeapSort(Size: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.K_Max_Elements(Size: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.K_Max_Elements(Size: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.Dequeue_And_Enqueue(Size: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.Dequeue_And_Enqueue(Size: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.HeapSort(Size: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.HeapSort(Size: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.K_Max_Elements(Size: 10) #### 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 x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 0935105e91450a1bad02b5b2f83be52bea2bcf59
Compare 5fda47434cecc590095e9aef3c4e560b7b7ebb47
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Sort<IntStruct>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.03 ms 559.25 μs 0.54 0.10 False
147.56 μs 27.79 μs 0.19 0.01 True
1.02 ms 540.41 μs 0.53 0.08 False
146.24 μs 28.54 μs 0.20 0.04 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Sort&lt;IntStruct&gt;*'
### System.Collections.Sort<IntStruct>.LinqQuery(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<IntStruct>.Array(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<IntStruct>.LinqOrderByExtension(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<IntStruct>.List(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 x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 0935105e91450a1bad02b5b2f83be52bea2bcf59
Compare 5fda47434cecc590095e9aef3c4e560b7b7ebb47
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Sort<BigStruct>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
164.40 μs 32.70 μs 0.20 0.03 True
1.12 ms 586.06 μs 0.52 0.09 True
1.11 ms 938.47 μs 0.85 0.07 True
163.81 μs 35.38 μs 0.22 0.03 True

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Sort&lt;BigStruct&gt;*'
### System.Collections.Sort<BigStruct>.Array(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<BigStruct>.LinqOrderByExtension(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<BigStruct>.LinqQuery(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<BigStruct>.List(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 x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 0935105e91450a1bad02b5b2f83be52bea2bcf59
Compare 5fda47434cecc590095e9aef3c4e560b7b7ebb47
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in Microsoft.Extensions.DependencyInjection.GetServiceIEnumerable

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
483.54 ns 342.30 ns 0.71 0.08 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.GetServiceIEnumerable*'
### Microsoft.Extensions.DependencyInjection.GetServiceIEnumerable.Singleton #### 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 x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 0935105e91450a1bad02b5b2f83be52bea2bcf59
Compare 5fda47434cecc590095e9aef3c4e560b7b7ebb47
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in Devirtualization.EqualityComparer

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
294.51 ns 119.32 ns 0.41 0.26 False
183.55 ns 162.94 ns 0.89 0.24 False
183.53 ns 89.59 ns 0.49 0.26 False
201.32 ns 85.84 ns 0.43 0.24 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Devirtualization.EqualityComparer*'
### Devirtualization.EqualityComparer.ValueTupleCompareCached #### ETL Files #### Histogram #### JIT Disasms ### Devirtualization.EqualityComparer.ValueTupleCompareWrapped #### ETL Files #### Histogram #### JIT Disasms ### Devirtualization.EqualityComparer.ValueTupleCompare #### ETL Files #### Histogram #### JIT Disasms ### Devirtualization.EqualityComparer.ValueTupleCompareNoOpt #### 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 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 0935105e91450a1bad02b5b2f83be52bea2bcf59
Compare 5fda47434cecc590095e9aef3c4e560b7b7ebb47
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in Devirtualization.Boxing

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
128.86 ns 72.34 ns 0.56 0.24 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Devirtualization.Boxing*'
### Devirtualization.Boxing.InterfaceTypeCheckAndCall #### 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 x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 0935105e91450a1bad02b5b2f83be52bea2bcf59
Compare 5fda47434cecc590095e9aef3c4e560b7b7ebb47
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Net.Primitives.Tests.CredentialCacheTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.01 μs 752.45 ns 0.75 0.10 False
340.14 ns 214.66 ns 0.63 0.24 False
463.41 ns 328.08 ns 0.71 0.15 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Net.Primitives.Tests.CredentialCacheTests*'
### System.Net.Primitives.Tests.CredentialCacheTests.GetCredential_HostPort(host: "name5", hostPortCount: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Net.Primitives.Tests.CredentialCacheTests.GetCredential_HostPort(host: "notfound", hostPortCount: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Net.Primitives.Tests.CredentialCacheTests.ForEach(uriCount: 0, hostPortCount: 0) #### 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 x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 0935105e91450a1bad02b5b2f83be52bea2bcf59
Compare 5fda47434cecc590095e9aef3c4e560b7b7ebb47
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
2.38 μs 1.30 μs 0.54 0.24 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark*'
### Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.CreateInstance_1_WithAttrLast #### 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 x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 0935105e91450a1bad02b5b2f83be52bea2bcf59
Compare 5fda47434cecc590095e9aef3c4e560b7b7ebb47
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Linq.Tests.Perf_OrderBy

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.10 ms 698.18 μs 0.63 0.10 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Linq.Tests.Perf_OrderBy*'
### System.Linq.Tests.Perf_OrderBy.OrderByValueType(NumberOfPeople: 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)
lewing commented 5 months ago

range is https://github.com/dotnet/runtime/compare/21f23f91a0c29d91f69013d561e82bd0960c95e1...844892506ca11ed8136a06388e7c11c26f6c9207 so probably https://github.com/dotnet/runtime/commit/4468342c374c7889742c7392c8a1713161bd24ff