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: 29 Improvements on 10/26/2023 4:53:28 PM #23912

Open performanceautofiler[bot] opened 1 year ago

performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline db558253fbd598ed682272c736ae6102673bd921
Compare dd89eb7b277cd80663846fb43a0b9c32a587fde9
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in Exceptions.Handling

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
8.59 μs 6.60 μs 0.77 0.16 False
43.39 μs 38.20 μs 0.88 0.04 False
14.56 μs 12.21 μs 0.84 0.08 False
20.50 μs 17.97 μs 0.88 0.04 False
41.61 μs 35.45 μs 0.85 0.03 False
16.54 μs 14.36 μs 0.87 0.05 False
18.27 μs 15.91 μs 0.87 0.05 False
44.57 μs 39.75 μs 0.89 0.04 False
41.64 μs 37.39 μs 0.90 0.03 False
41.24 μs 37.40 μs 0.91 0.03 False
15.17 μs 12.99 μs 0.86 0.05 False
15.41 μs 12.25 μs 0.79 0.07 False
29.32 μs 27.04 μs 0.92 0.02 False
15.07 μs 12.01 μs 0.80 0.05 False
18.01 μs 15.34 μs 0.85 0.05 False
14.52 μs 12.66 μs 0.87 0.07 False
45.44 μs 39.91 μs 0.88 0.01 False
38.42 μs 34.07 μs 0.89 0.04 False

graph graph graph graph graph graph graph graph graph graph graph 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 'Exceptions.Handling*'
### Payloads [Baseline]() [Compare]() ### Exceptions.Handling.ThrowAndCatchFinally(kind: Hardware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.ThrowAndCatch_ManyCatchBlocks(kind: ReflectionHardware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.ThrowAndCatchWhen(kind: Hardware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.MultipleNestedTryFinally(kind: Hardware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.ThrowAndCatch(kind: ReflectionHardware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.ThrowAndCatch_ManyCatchBlocks(kind: Hardware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.ThrowAndCatchDeep(kind: Hardware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.ThrowAndCatchDeepRecursive(kind: ReflectionHardware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.ThrowAndCatchDeep(kind: ReflectionSoftware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.ThrowAndCatchDeepRecursive(kind: ReflectionSoftware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.MultipleNestedTryCatch_LastCatches(kind: Hardware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.MultipleNestedTryCatch_FirstCatches(kind: Hardware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.TryAndFinallyDeep(kind: Hardware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.ThrowAndCatch(kind: Hardware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.ThrowAndCatchDeepRecursive(kind: Hardware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.ThrowAndCatchWhenFinally(kind: Hardware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.ThrowAndCatchDeep(kind: ReflectionHardware) #### ETL Files #### Histogram #### JIT Disasms ### Exceptions.Handling.ThrowAndCatch(kind: ReflectionSoftware) #### 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 db558253fbd598ed682272c736ae6102673bd921
Compare dd89eb7b277cd80663846fb43a0b9c32a587fde9
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
173.57 μs 158.15 μs 0.91 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 'Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks*'
### Payloads [Baseline]() [Compare]() ### Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks.Load(FileName: "deep.xml") #### 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 db558253fbd598ed682272c736ae6102673bd921
Compare dd89eb7b277cd80663846fb43a0b9c32a587fde9
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_String

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
519.30 ns 463.05 ns 0.89 0.03 False
270.35 ns 236.37 ns 0.87 0.07 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.Tests.Perf_String*'
### Payloads [Baseline]() [Compare]() ### System.Tests.Perf_String.Concat_str_str(size: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.GetChars(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 TigerUbuntu
Baseline db558253fbd598ed682272c736ae6102673bd921
Compare dd89eb7b277cd80663846fb43a0b9c32a587fde9
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Diagnostics.Tracing.Perf_EventListener

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
360.43 ns 13.58 ns 0.04 0.19 False
476.26 ns 2.37 ns 0.00 0.18 False
249.08 ns 3.43 ns 0.01 0.30 False
164.35 ns 2.53 ns 0.02 0.30 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.Diagnostics.Tracing.Perf_EventListener*'
### Payloads [Baseline]() [Compare]() ### System.Diagnostics.Tracing.Perf_EventListener.WriteEvent_MixedParams #### ETL Files #### Histogram #### JIT Disasms ### System.Diagnostics.Tracing.Perf_EventListener.WriteEvent_StringParams #### ETL Files #### Histogram #### JIT Disasms ### System.Diagnostics.Tracing.Perf_EventListener.WriteEvent_IntParams #### ETL Files #### Histogram #### JIT Disasms ### System.Diagnostics.Tracing.Perf_EventListener.WriteEvent_NoParams #### 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 db558253fbd598ed682272c736ae6102673bd921
Compare dd89eb7b277cd80663846fb43a0b9c32a587fde9
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in Microsoft.Extensions.Logging.EventSourceLogger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
10.45 μs 841.20 ns 0.08 0.10 False
5.00 μs 860.04 ns 0.17 0.06 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 'Microsoft.Extensions.Logging.EventSourceLogger*'
### Payloads [Baseline]() [Compare]() ### Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers: True, Json: True) #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers: True, Json: False) #### 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 db558253fbd598ed682272c736ae6102673bd921
Compare dd89eb7b277cd80663846fb43a0b9c32a587fde9
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Globalization.Tests.StringSearch

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
56.18 ns 48.40 ns 0.86 0.44 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.Globalization.Tests.StringSearch*'
### Payloads [Baseline]() [Compare]() ### System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (, IgnoreCase, False)) #### 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)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline db558253fbd598ed682272c736ae6102673bd921
Compare dd89eb7b277cd80663846fb43a0b9c32a587fde9
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Reflection.Attributes

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
3.85 μs 3.54 μs 0.92 0.10 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.Reflection.Attributes*'
### Payloads [Baseline]() [Compare]() ### System.Reflection.Attributes.GetCustomAttributesClassMissInherit #### 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 1 year ago

diff on the exceptions change is coming back https://github.com/dotnet/perf-autofiling-issues/issues/23912 did chrome change?