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: 43 Improvements on 3/18/2024 12:41:31 PM #31849

Open performanceautofiler[bot] opened 5 months ago

performanceautofiler[bot] commented 5 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.EqualityComparer

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
226.42 ns 118.93 ns 0.53 0.26 False
181.57 ns 157.09 ns 0.87 0.24 False
196.61 ns 93.36 ns 0.47 0.25 False
192.50 ns 86.26 ns 0.45 0.28 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.ValueTupleCompareNoOpt #### ETL Files #### Histogram #### JIT Disasms ### Devirtualization.EqualityComparer.ValueTupleCompare #### 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
29.43 ns 2.92 ns 0.10 0.35 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.Net.Primitives.Tests.CredentialCacheTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.02 ฮผs 728.77 ns 0.71 0.10 False
470.65 ns 330.81 ns 0.70 0.15 False
363.90 ns 209.82 ns 0.58 0.25 False
847.07 ns 642.17 ns 0.76 0.13 False
1.52 ฮผs 1.28 ฮผs 0.84 0.15 False

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.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.ForEach(uriCount: 0, hostPortCount: 0) #### 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.GetCredential_HostPort(host: "notfound", hostPortCount: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Net.Primitives.Tests.CredentialCacheTests.GetCredential_Uri(uriString: "http://notfound", uriCount: 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 System.Buffers.Text.Tests.Utf8FormatterTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
649.08 ns 567.97 ns 0.88 0.13 False
74.86 ns 66.56 ns 0.89 0.21 False
170.85 ns 144.99 ns 0.85 0.17 False
163.14 ns 144.12 ns 0.88 0.12 False
108.35 ns 81.00 ns 0.75 0.20 False

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.Buffers.Text.Tests.Utf8FormatterTests*'
### System.Buffers.Text.Tests.Utf8FormatterTests.FormatterDecimal(value: 123456.789) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Utf8FormatterTests.FormatterInt32(value: 2147483647) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Utf8FormatterTests.FormatterUInt64(value: 18446744073709551615) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Utf8FormatterTests.FormatterInt64(value: 9223372036854775807) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Utf8FormatterTests.FormatterInt32(value: -2147483648) #### 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.TimeToFirstService

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
53.95 ฮผs 48.98 ฮผs 0.91 0.12 False
54.83 ฮผs 49.60 ฮผs 0.90 0.07 False
61.28 ฮผs 55.06 ฮผs 0.90 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 'Microsoft.Extensions.DependencyInjection.TimeToFirstService*'
### Microsoft.Extensions.DependencyInjection.TimeToFirstService.Transient(Mode: "Default") #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.DependencyInjection.TimeToFirstService.Singleton(Mode: "Default") #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.DependencyInjection.TimeToFirstService.Scoped(Mode: "Default") #### 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
145.21 ฮผs 26.75 ฮผs 0.18 0.02 True
145.13 ฮผs 27.16 ฮผs 0.19 0.04 True
1.00 ms 540.60 ฮผs 0.54 0.08 True
1.01 ms 539.86 ฮผs 0.53 0.09 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>.Array(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<IntStruct>.List(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<IntStruct>.LinqOrderByExtension(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<IntStruct>.LinqQuery(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.Perf_Frozen<NotKnownComparable>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.31 ฮผs 242.13 ns 0.18 0.08 True
273.56 ฮผs 214.04 ฮผs 0.78 0.17 False
18.27 ฮผs 5.57 ฮผs 0.31 0.11 True
1.52 ฮผs 341.88 ns 0.22 0.10 True
112.23 ฮผs 33.11 ฮผs 0.30 0.08 True
152.65 ฮผs 46.39 ฮผs 0.30 0.11 True
14.23 ฮผs 4.03 ฮผs 0.28 0.11 True

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.Perf_Frozen&lt;NotKnownComparable&gt;*'
### System.Collections.Perf_Frozen<NotKnownComparable>.Contains_True(Count: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<NotKnownComparable>.ToFrozenSet(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<NotKnownComparable>.TryGetValue_True(Count: 64) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<NotKnownComparable>.TryGetValue_True(Count: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<NotKnownComparable>.Contains_True(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<NotKnownComparable>.TryGetValue_True(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<NotKnownComparable>.Contains_True(Count: 64) #### 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 5 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 Microsoft.Extensions.DependencyInjection.GetService

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
682.66 ns 517.67 ns 0.76 0.19 False
491.13 ns 331.57 ns 0.68 0.17 False
470.79 ns 312.52 ns 0.66 0.13 False
1.39 ฮผs 1.04 ฮผs 0.75 0.15 False
475.40 ns 330.97 ns 0.70 0.12 False

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 'Microsoft.Extensions.DependencyInjection.GetService*'
### Microsoft.Extensions.DependencyInjection.GetService.ServiceScope #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.DependencyInjection.GetService.ServiceScopeProvider #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.DependencyInjection.GetService.Singleton #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.DependencyInjection.GetService.Scoped #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.DependencyInjection.GetService.EmptyEnumerable #### 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.Text.RegularExpressions.Tests.Perf_Regex_Cache

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
979.69 ms 869.54 ms 0.89 0.11 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.Text.RegularExpressions.Tests.Perf_Regex_Cache*'
### System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total: 400000, unique: 7, cacheSize: 15) #### 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.86 ฮผs 29.51 ฮผs 0.18 0.04 True
1.09 ms 579.53 ฮผs 0.53 0.10 True
1.10 ms 600.83 ฮผs 0.54 0.07 True
167.01 ฮผs 33.56 ฮผs 0.20 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 Devirtualization.Boxing

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
129.39 ns 72.67 ns 0.56 0.23 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.Linq.Tests.Perf_OrderBy

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.12 ms 719.36 ฮผs 0.64 0.09 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 '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)

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
1.39 ฮผs 990.14 ns 0.71 0.15 False
488.64 ns 321.46 ns 0.66 0.08 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.GetServiceIEnumerable*'
### Microsoft.Extensions.DependencyInjection.GetServiceIEnumerable.Scoped #### ETL Files #### Histogram #### JIT Disasms ### 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)