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: 10 Improvements on 6/14/2024 3:42:32 AM #36643

Open performanceautofiler[bot] opened 2 months ago

performanceautofiler[bot] commented 2 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 6927fea7b4bca1dc2cea7a0afba0373c1303cedc
Compare d901213ed6076c0989a2de2626b99c9711442543
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.WriteJson<BinaryData>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
7.04 μs 6.51 μs 0.93 0.09 False
4.68 μs 4.31 μs 0.92 0.11 False
5.29 μs 4.87 μs 0.92 0.07 False
5.51 μs 5.17 μs 0.94 0.08 False

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.Text.Json.Serialization.Tests.WriteJson&lt;BinaryData&gt;*'
### System.Text.Json.Serialization.Tests.WriteJson<BinaryData>.SerializeToString(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<BinaryData>.SerializeToWriter(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<BinaryData>.SerializeToWriter(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<BinaryData>.SerializeToUtf8Bytes(Mode: SourceGen) #### 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 6927fea7b4bca1dc2cea7a0afba0373c1303cedc
Compare d901213ed6076c0989a2de2626b99c9711442543
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Buffers.Text.Tests.Base64Tests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
3.41 μs 2.99 μs 0.88 0.03 False
3.39 μs 2.99 μs 0.88 0.01 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 'System.Buffers.Text.Tests.Base64Tests*'
### System.Buffers.Text.Tests.Base64Tests.Base64Encode(NumberOfBytes: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Base64Tests.Base64EncodeDestinationTooSmall(NumberOfBytes: 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 TigerUbuntu
Baseline 6927fea7b4bca1dc2cea7a0afba0373c1303cedc
Compare d901213ed6076c0989a2de2626b99c9711442543
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_Base64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
4.07 μs 3.65 μs 0.90 0.14 False
4.06 μs 3.66 μs 0.90 0.11 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.Text.Json.Tests.Perf_Base64*'
### System.Text.Json.Tests.Perf_Base64.WriteByteArrayAsBase64_NoEscaping(NumberOfBytes: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Tests.Perf_Base64.WriteByteArrayAsBase64_HeavyEscaping(NumberOfBytes: 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 TigerUbuntu
Baseline 6927fea7b4bca1dc2cea7a0afba0373c1303cedc
Compare d901213ed6076c0989a2de2626b99c9711442543
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Improvements in System.Perf_Convert

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
4.31 μs 3.95 μs 0.92 0.01 False
4.09 μs 3.73 μs 0.91 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 'System.Perf_Convert*'
### System.Perf_Convert.ToBase64String(formattingOptions: None) #### ETL Files #### Histogram #### JIT Disasms ### System.Perf_Convert.ToBase64CharArray(binaryDataSize: 1024, formattingOptions: None) #### 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 2 months ago

Looks like improvements from https://github.com/dotnet/runtime/pull/102364 cc @buyaa-n