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: 22 Improvements on 4/23/2024 8:14:09 PM #33346

Open performanceautofiler[bot] opened 6 months ago

performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 5111fdc0dc464f01647d6b6078342f451bf3a499
Compare 33092b8097464a17a021224476ff121fedc4a8fd
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in PerfLabTests.LowLevelPerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
51.09 μs 38.42 μs 0.75 0.00 False
108.34 μs 102.76 μs 0.95 0.02 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 'PerfLabTests.LowLevelPerf*'
### PerfLabTests.LowLevelPerf.GenericClassGenericStaticField #### ETL Files #### Histogram #### JIT Disasms ### PerfLabTests.LowLevelPerf.StaticIntPlus #### 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 5111fdc0dc464f01647d6b6078342f451bf3a499
Compare 33092b8097464a17a021224476ff121fedc4a8fd
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Memory.Span<Char>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
86.36 ns 76.35 ns 0.88 0.20 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.Memory.Span&lt;Char&gt;*'
### System.Memory.Span<Char>.SequenceEqual(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 5111fdc0dc464f01647d6b6078342f451bf3a499
Compare 33092b8097464a17a021224476ff121fedc4a8fd
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Buffers.Binary.Tests.BinaryReadAndWriteTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.07 μs 887.85 ns 0.83 0.00 False
1.08 μs 881.89 ns 0.82 0.00 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.Buffers.Binary.Tests.BinaryReadAndWriteTests*'
### System.Buffers.Binary.Tests.BinaryReadAndWriteTests.MeasureReverseUsingNtoH #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Binary.Tests.BinaryReadAndWriteTests.MeasureReverseEndianness #### 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 5111fdc0dc464f01647d6b6078342f451bf3a499
Compare 33092b8097464a17a021224476ff121fedc4a8fd
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Numerics.Tests.Perf_BitOperations

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
769.81 ns 555.06 ns 0.72 0.00 False
677.17 ns 554.89 ns 0.82 0.00 False
684.40 ns 554.22 ns 0.81 0.00 False
1.15 μs 665.73 ns 0.58 0.00 False
1.22 μs 665.89 ns 0.55 0.00 False
780.74 ns 556.60 ns 0.71 0.00 False
677.01 ns 553.66 ns 0.82 0.00 False

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.Numerics.Tests.Perf_BitOperations*'
### System.Numerics.Tests.Perf_BitOperations.LeadingZeroCount_uint #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BitOperations.PopCount_ulong #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BitOperations.LeadingZeroCount_ulong #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BitOperations.Log2_ulong #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BitOperations.Log2_uint #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BitOperations.PopCount_uint #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BitOperations.TrailingZeroCount_ulong #### 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 5111fdc0dc464f01647d6b6078342f451bf3a499
Compare 33092b8097464a17a021224476ff121fedc4a8fd
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Memory.Span<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
174.28 ns 140.50 ns 0.81 0.00 False
232.25 ns 196.84 ns 0.85 0.00 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.Memory.Span&lt;Int32&gt;*'
### System.Memory.Span<Int32>.IndexOfAnyTwoValues(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.IndexOfAnyThreeValues(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 5111fdc0dc464f01647d6b6078342f451bf3a499
Compare 33092b8097464a17a021224476ff121fedc4a8fd
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.IO.Tests.BinaryWriterExtendedTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.21 μs 1.13 μs 0.93 0.00 False
1.26 μs 1.15 μs 0.91 0.00 False
286.78 μs 261.46 μs 0.91 0.00 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.IO.Tests.BinaryWriterExtendedTests*'
### System.IO.Tests.BinaryWriterExtendedTests.WriteAsciiCharArray(StringLengthInChars: 8000) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.BinaryWriterExtendedTests.WriteAsciiString(StringLengthInChars: 8000) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.BinaryWriterExtendedTests.WriteAsciiCharArray(StringLengthInChars: 2000000) #### 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 5111fdc0dc464f01647d6b6078342f451bf3a499
Compare 33092b8097464a17a021224476ff121fedc4a8fd
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Numerics.Tests.Perf_BigInteger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
7.19 μs 5.86 μs 0.82 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_BigInteger*'
### System.Numerics.Tests.Perf_BigInteger.Subtract(arguments: 65536,65536 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)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 5111fdc0dc464f01647d6b6078342f451bf3a499
Compare 33092b8097464a17a021224476ff121fedc4a8fd
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.MathBenchmarks.Single

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
30.30 μs 17.47 μs 0.58 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.MathBenchmarks.Single*'
### System.MathBenchmarks.Single.FusedMultiplyAdd #### 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 5111fdc0dc464f01647d6b6078342f451bf3a499
Compare bc9fc5a774d96f95abe0ea5c90fac48b38ed2e67
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Perf_Utf8Encoding

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
24.83 μs 18.76 μs 0.76 0.00 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.Perf_Utf8Encoding*'
### System.Text.Perf_Utf8Encoding.GetByteCount(Input: EnglishAllAscii) #### 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 5111fdc0dc464f01647d6b6078342f451bf3a499
Compare 33092b8097464a17a021224476ff121fedc4a8fd
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in Benchstone.BenchI.BubbleSort

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
15.72 μs 12.61 μs 0.80 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Benchstone.BenchI.BubbleSort*'
### Benchstone.BenchI.BubbleSort.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 ubuntu 22.04
Queue TigerUbuntu
Baseline 5111fdc0dc464f01647d6b6078342f451bf3a499
Compare 33092b8097464a17a021224476ff121fedc4a8fd
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in Benchstone.BenchI.TreeInsert

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
82.03 μs 75.76 μs 0.92 0.00 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 'Benchstone.BenchI.TreeInsert*'
### Benchstone.BenchI.TreeInsert.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)
lewing commented 6 months ago

the range here is https://github.com/dotnet/runtime/compare/0a220d534b30495ff332b3bd65a04889e66b44f7...d92ac1f892a7f9c00561db6541671f25f3972eed @kg do these look like they could be related to your improvements?

lewing commented 6 months ago

Could also be the compiler flag changes in which case we may see this change back. cc @radekdoulik

kg commented 6 months ago

I think this is the compiler flag changes, my changes shouldn't impact these measurements.

lewing commented 6 months ago

I think this is the compiler flag changes, my changes shouldn't impact these measurements.

Yeah that was my conclusion after looking more closely too. The flags should be fixed now in main so we'll know soon enough.