dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.96k stars 4.65k forks source link

[Perf] Linux/x64: Regressions in SIMD.ConsoleMandel and System.Numerics.Tests.Perf_BigInteger #105329

Open performanceautofiler[bot] opened 1 month ago

performanceautofiler[bot] commented 1 month ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue ViperUbuntu
Baseline 19f03850cafa68cf396ecadf86e19df714b0a280
Compare 223249fa87a5f84cc67e83699f64ca80180a1862
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in SIMD.ConsoleMandel

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
649.42 ms 693.68 ms 1.07 0.00 True
656.66 ms 692.76 ms 1.05 0.00 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'SIMD.ConsoleMandel*'
### SIMD.ConsoleMandel.ScalarDoubleSinglethreadADT #### ETL Files #### Histogram #### JIT Disasms ### SIMD.ConsoleMandel.ScalarFloatSinglethreadADT #### 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 ViperUbuntu
Baseline 19f03850cafa68cf396ecadf86e19df714b0a280
Compare 223249fa87a5f84cc67e83699f64ca80180a1862
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
16.57 μs 18.02 μs 1.09 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 'System.Collections.Tests.Perf_PriorityQueue&lt;Int32, Int32&gt;*'
### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.HeapSort(Size: 1000) #### 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 ViperUbuntu
Baseline 19f03850cafa68cf396ecadf86e19df714b0a280
Compare 223249fa87a5f84cc67e83699f64ca80180a1862
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Numerics.Tests.Perf_BigInteger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
4.37 μs 4.68 μs 1.07 0.00 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.Numerics.Tests.Perf_BigInteger*'
### System.Numerics.Tests.Perf_BigInteger.GreatestCommonDivisor(arguments: 1024,1024 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)
LoopedBard3 commented 1 month ago

Potentially caused by: https://github.com/dotnet/runtime/pull/104752, improvements listed in PR. @AndyAyersMS

LoopedBard3 commented 1 month ago

Related Regressions: Windows/x64: https://github.com/dotnet/perf-autofiling-issues/issues/38719 Linux/x64: https://github.com/dotnet/perf-autofiling-issues/issues/38695

AndyAyersMS commented 1 month ago

Will see if this is fixable in 9.0...

dotnet-policy-service[bot] commented 1 month ago

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch See info in area-owners.md if you want to be subscribed.

AndyAyersMS commented 1 month ago

These all seem to be viper (zen4) specific, and linux specific as well. Since other arch/os combinations are ok, I'm going to defer this one.