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/x64: 9 Regressions on 8/2/2024 1:16:56 PM #39466

Open performanceautofiler[bot] opened 1 month ago

performanceautofiler[bot] commented 1 month ago

Run Information

Name Value
Architecture x64
OS Windows 10.0.22631
Queue ViperWindows
Baseline 30b34e6d7b475c1de91623d3589723181a260523
Compare 3e572e9d09026f386a57302bfd624abd7b660fb5
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in Loops.StrengthReduction

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
4.30 μs 5.42 μs 1.26 0.03 False
4.29 μs 5.43 μs 1.26 0.04 False
4.27 μs 5.42 μs 1.27 0.04 False
3.78 μs 5.42 μs 1.44 0.24 False
4.70 μs 5.43 μs 1.15 0.24 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Loops.StrengthReduction*'
### Loops.StrengthReduction.SumS12Span #### ETL Files #### Histogram #### JIT Disasms ### Loops.StrengthReduction.SumS16Span #### ETL Files #### Histogram #### JIT Disasms ### Loops.StrengthReduction.SumS3Span #### ETL Files #### Histogram #### JIT Disasms ### Loops.StrengthReduction.SumIntsSpan #### ETL Files #### Histogram #### JIT Disasms ### Loops.StrengthReduction.SumShortsSpan #### 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 Windows 10.0.22631
Queue ViperWindows
Baseline 30b34e6d7b475c1de91623d3589723181a260523
Compare 3e572e9d09026f386a57302bfd624abd7b660fb5
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in PerfLabTests.LowLevelPerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
216.61 μs 243.63 μs 1.12 0.03 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 'PerfLabTests.LowLevelPerf*'
### PerfLabTests.LowLevelPerf.StaticDelegate #### 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 Windows 10.0.22631
Queue ViperWindows
Baseline 30b34e6d7b475c1de91623d3589723181a260523
Compare 3e572e9d09026f386a57302bfd624abd7b660fb5
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in SciMark2.kernel

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
302.93 ms 394.10 ms 1.30 0.04 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 'SciMark2.kernel*'
### SciMark2.kernel.benchmarkLU #### 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 Windows 10.0.22631
Queue ViperWindows
Baseline 30b34e6d7b475c1de91623d3589723181a260523
Compare 3e572e9d09026f386a57302bfd624abd7b660fb5
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in Benchstone.BenchI.BenchE

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
226.30 ms 296.03 ms 1.31 0.04 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 'Benchstone.BenchI.BenchE*'
### Benchstone.BenchI.BenchE.Test #### 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 Windows 10.0.22631
Queue ViperWindows
Baseline 30b34e6d7b475c1de91623d3589723181a260523
Compare 3e572e9d09026f386a57302bfd624abd7b660fb5
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Tests.Perf_String

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
23.58 ns 38.56 ns 1.64 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.Tests.Perf_String*'
### System.Tests.Perf_String.IndexerCheckLengthHoisting #### 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)
LoopedBard3 commented 1 month ago

System.Tests.Perf_String.IndexerCheckLengthHoisting is only seen on Viper AMD64 Windows machines. The rest look like noise. Compare range: https://github.com/dotnet/runtime/compare/e60db076d7966c18b678378b188e6ce6896403d6...fd99ad5002b45a45c3dde9a0260bb6bdd4a88c2f

Another likely related Windows AMD64 Viper only regression at a slightly different time: https://github.com/dotnet/perf-autofiling-issues/issues/39465

LoopedBard3 commented 1 month ago

Look again at the IndexerCheckLengthHoisting. It is weird that it is only occuring on Windows AMD64 Viper machines.