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: 18 Improvements on 5/24/2024 12:21:46 AM #35338

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 aabefea9ec7c5717177454cd570e48cc55a535bf
Compare ee3151531aa541ffadbd0b48dcc84b5b2d22812c
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Perf_LengthBucketsFrozenDictionary

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
8.58 μs 6.24 μs 0.73 0.26 False
991.29 μs 583.36 μs 0.59 0.17 False
8.15 μs 6.06 μs 0.74 0.31 False
70.32 μs 47.71 μs 0.68 0.05 False
74.19 μs 53.56 μs 0.72 0.04 False
1.05 ms 703.96 μs 0.67 0.15 False

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_LengthBucketsFrozenDictionary*'
### System.Collections.Perf_LengthBucketsFrozenDictionary.ToFrozenDictionary(Count: 100, ItemsPerBucket: 1) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_LengthBucketsFrozenDictionary.ToFrozenDictionary(Count: 10000, ItemsPerBucket: 5) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_LengthBucketsFrozenDictionary.ToFrozenDictionary(Count: 100, ItemsPerBucket: 5) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_LengthBucketsFrozenDictionary.ToFrozenDictionary(Count: 1000, ItemsPerBucket: 5) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_LengthBucketsFrozenDictionary.ToFrozenDictionary(Count: 1000, ItemsPerBucket: 1) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_LengthBucketsFrozenDictionary.ToFrozenDictionary(Count: 10000, ItemsPerBucket: 1) #### 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 aabefea9ec7c5717177454cd570e48cc55a535bf
Compare ee3151531aa541ffadbd0b48dcc84b5b2d22812c
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.CreateAddAndClear<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
32.03 μs 25.34 μs 0.79 0.30 False
24.38 μs 18.82 μs 0.77 0.34 False
16.12 μs 11.91 μs 0.74 0.26 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.Collections.CreateAddAndClear&lt;String&gt;*'
### System.Collections.CreateAddAndClear<String>.ICollection(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.Stack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.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 aabefea9ec7c5717177454cd570e48cc55a535bf
Compare ee3151531aa541ffadbd0b48dcc84b5b2d22812c
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.AddGivenSize<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
24.20 μs 19.12 μs 0.79 0.26 False
22.18 μs 16.16 μs 0.73 0.25 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 'System.Collections.AddGivenSize&lt;String&gt;*'
### System.Collections.AddGivenSize<String>.Queue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.AddGivenSize<String>.Stack(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 aabefea9ec7c5717177454cd570e48cc55a535bf
Compare ee3151531aa541ffadbd0b48dcc84b5b2d22812c
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.IndexerSetReverse<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
5.22 μs 3.71 μs 0.71 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 'System.Collections.IndexerSetReverse&lt;String&gt;*'
### System.Collections.IndexerSetReverse<String>.Array(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 aabefea9ec7c5717177454cd570e48cc55a535bf
Compare ee3151531aa541ffadbd0b48dcc84b5b2d22812c
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Tests.Add_Remove_SteadyState<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
95.97 ns 59.07 ns 0.62 0.44 False
103.17 ns 65.48 ns 0.63 0.39 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 'System.Collections.Tests.Add_Remove_SteadyState&lt;String&gt;*'
### System.Collections.Tests.Add_Remove_SteadyState<String>.Stack(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Add_Remove_SteadyState<String>.Queue(Count: 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 aabefea9ec7c5717177454cd570e48cc55a535bf
Compare ee3151531aa541ffadbd0b48dcc84b5b2d22812c
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.IndexerSet<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
5.85 μs 4.10 μs 0.70 0.16 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.Collections.IndexerSet&lt;String&gt;*'
### System.Collections.IndexerSet<String>.Array(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 aabefea9ec7c5717177454cd570e48cc55a535bf
Compare ee3151531aa541ffadbd0b48dcc84b5b2d22812c
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Perf_Frozen<ReferenceType>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
714.81 ns 596.33 ns 0.83 0.16 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.Collections.Perf_Frozen&lt;ReferenceType&gt;*'
### System.Collections.Perf_Frozen<ReferenceType>.ToFrozenDictionary(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 aabefea9ec7c5717177454cd570e48cc55a535bf
Compare ee3151531aa541ffadbd0b48dcc84b5b2d22812c
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_Environment

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
47.60 ns 34.66 ns 0.73 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 'System.Tests.Perf_Environment*'
### System.Tests.Perf_Environment.GetLogicalDrives #### 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 aabefea9ec7c5717177454cd570e48cc55a535bf
Compare ee3151531aa541ffadbd0b48dcc84b5b2d22812c
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in PerfLabTests.StackWalk

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
48.99 ms 36.09 ms 0.74 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'PerfLabTests.StackWalk*'
### PerfLabTests.StackWalk.Walk #### 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

@kg this looks like it s probably your changes? https://github.com/dotnet/runtime/compare/6e5244567aab92dc59e1091ffd6606d6437dae32...a8bc8faa908d536ff8aceaa53ee38535fa63afd7

kg commented 5 months ago

Yeah, these all make sense for my commits