Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Perf] Linux/x64: 14 Regressions on 10/20/2023 2:39:28 AM #23626

Open
performanceautofiler bot opened this issue Oct 24, 2023 · 2 comments
Open

[Perf] Linux/x64: 14 Regressions on 10/20/2023 2:39:28 AM #23626

performanceautofiler bot opened this issue Oct 24, 2023 · 2 comments
Labels
arch-wasm arch-x64 branch-refs/heads/main kind-micro os-linux perf-regression PGO Applied if there were any profile guided optimization updates in the observed interval. untriaged wasm-aot

Comments

@performanceautofiler
Copy link

performanceautofiler bot commented Oct 24, 2023

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 72e69532d3dddd7894ffab37e356c01aea3a75a8
Compare 0151c4696eb14f52f567ceee91d2896ff2586edf
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Regressions in Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
3.63 μs 8.63 μs 2.38 0.09 False
960.54 ns 5.75 μs 5.98 0.14 False
1.09 μs 5.51 μs 5.04 0.18 False
783.36 ns 4.15 μs 5.29 0.22 False
553.63 ns 612.68 ns 1.11 0.14 False
659.92 ns 1.80 μs 2.73 0.24 False
460.43 ns 1.62 μs 3.52 0.20 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 'Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark*'

Payloads

Baseline
Compare

Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.CreateInstance_5

ETL Files

Histogram

JIT Disasms

Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.CreateInstance_2

ETL Files

Histogram

JIT Disasms

Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.CreateInstance_4

ETL Files

Histogram

JIT Disasms

Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.CreateInstance_1

ETL Files

Histogram

JIT Disasms

Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.Factory_3Injected

ETL Files

Histogram

JIT Disasms

Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.CreateInstance_3

ETL Files

Histogram

JIT Disasms

Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.CreateInstance_0

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 72e69532d3dddd7894ffab37e356c01aea3a75a8
Compare 0151c4696eb14f52f567ceee91d2896ff2586edf
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Regressions in System.Diagnostics.Tracing.Perf_EventListener

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
31.53 ns 163.20 ns 5.18 0.27 False
33.10 ns 358.43 ns 10.83 0.16 False
14.80 ns 254.04 ns 17.16 0.28 False
18.06 ns 480.71 ns 26.62 0.14 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_NoParams

ETL Files

Histogram

JIT Disasms

System.Diagnostics.Tracing.Perf_EventListener.WriteEvent_MixedParams

ETL Files

Histogram

JIT Disasms

System.Diagnostics.Tracing.Perf_EventListener.WriteEvent_IntParams

ETL Files

Histogram

JIT Disasms

System.Diagnostics.Tracing.Perf_EventListener.WriteEvent_StringParams

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 72e69532d3dddd7894ffab37e356c01aea3a75a8
Compare 0151c4696eb14f52f567ceee91d2896ff2586edf
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Regressions in Microsoft.Extensions.Logging.EventSourceLogger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
915.26 ns 10.65 μs 11.64 0.10 False
944.81 ns 4.99 μs 5.28 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
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 72e69532d3dddd7894ffab37e356c01aea3a75a8
Compare 0151c4696eb14f52f567ceee91d2896ff2586edf
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Regressions in Benchmark.GetChildKeysTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
29.87 ms 32.59 ms 1.09 0.14 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 'Benchmark.GetChildKeysTests*'

Payloads

Baseline
Compare

Benchmark.GetChildKeysTests.AddChainedConfigurationEmpty

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

@radekdoulik
Copy link
Member

This looks like [wasm] Fix perf pipeline runs

@radical does it mean we were measuring NET8 performance before? do you know why were the results much faster before the fix?

@radical
Copy link
Member

radical commented Oct 25, 2023

This looks like [wasm] Fix perf pipeline runs

Likely that in combination of bunch of others. The perf pipeline was in a broken state due to various reasons like the sdk/installer having a bad mix of 8.0/9.0 bits, linker issues causing microbenchmarks to fail.

@radical does it mean we were measuring NET8 performance before?

Yeah, possibly.

do you know why were the results much faster before the fix?

I'm not sure about that. Runs are not there for a some time before this because of the pipeline breaks.

@radical radical removed their assignment Jun 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-wasm arch-x64 branch-refs/heads/main kind-micro os-linux perf-regression PGO Applied if there were any profile guided optimization updates in the observed interval. untriaged wasm-aot
Projects
None yet
Development

No branches or pull requests

2 participants