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: 3 Regressions on 5/10/2024 2:50:16 AM #34303

Open performanceautofiler[bot] opened 4 months ago

performanceautofiler[bot] commented 4 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 02e348b505ec5d95621a662835abd6d915962801
Compare 56d7e5d80ed6dd5e80ca8225ab689a60cae3cfc7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Regressions in System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
738.62 ns 803.60 ns 1.09 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 'System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives&lt;Single&gt;*'
### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>.AddMultiply_Vectors(BufferLength: 3079) #### 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 02e348b505ec5d95621a662835abd6d915962801
Compare 56d7e5d80ed6dd5e80ca8225ab689a60cae3cfc7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Regressions in PerfLabTests.StackWalk

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
39.68 ms 47.80 ms 1.20 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)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 02e348b505ec5d95621a662835abd6d915962801
Compare 56d7e5d80ed6dd5e80ca8225ab689a60cae3cfc7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Regressions in ByteMark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
3.27 secs 3.48 secs 1.07 0.07 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 'ByteMark*'
### ByteMark.BenchBitOps #### 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)
radekdoulik commented 4 months ago

@kg looks like https://github.com/dotnet/runtime/pull/101871

kg commented 4 months ago

I'm confused as to why these 3 benchmarks would be benchmarking the cost of mmap/munmap, or why they would be so significantly impacted by it.

kg commented 4 months ago

StackWalk is real and is impacted by custom mmap, I don't have a reasonable explanation for the other two. I'm pretty confident tensors is a fake regression.