Repository navigation
[Perf] Linux/x64: 7 Regressions on 6/27/2025 11:05:34 AM +00:00 #117203
Copy link
Copy link
Closed
Labels
arch-x64area-System.Diagnostics.Tracingos-linuxLinux OS (any supported distro)Linux OS (any supported distro)runtime-coreclrspecific to the CoreCLR runtimespecific to the CoreCLR runtimetenet-performancePerformance related issuePerformance related issuetenet-performance-benchmarksIssue from performance benchmarkIssue from performance benchmark
Description
Run Information
| Name | Value |
|---|---|
| Architecture | x64 |
| OS | ubuntu 22.04 |
| Queue | TigerUbuntu |
| Baseline | a0c5625a8db02927113b66e776dbb670099acfbd |
| Compare | d38966ff663cb279148a82d1d0364dee40727f88 |
| Diff | Diff |
| Configs | CompilationMode:tiered, RunKind:micro |
Regressions in Microsoft.Extensions.Logging.EventSourceLogger
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
|---|---|---|---|---|---|---|---|---|
| 1.98 μs | 3.14 μs | 1.58 | 0.03 | False | ||||
| 2.00 μs | 3.22 μs | 1.61 | 0.04 | False |
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*'Details
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 | a0c5625a8db02927113b66e776dbb670099acfbd |
| Compare | d38966ff663cb279148a82d1d0364dee40727f88 |
| Diff | Diff |
| Configs | CompilationMode:tiered, RunKind:micro |
Regressions in System.Diagnostics.Tracing.Perf_EventListener
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
|---|---|---|---|---|---|---|---|---|
| 30.87 ns | 41.17 ns | 1.33 | 0.13 | False | ||||
| 75.65 ns | 88.72 ns | 1.17 | 0.12 | False | ||||
| 78.19 ns | 89.73 ns | 1.15 | 0.06 | False | ||||
| 61.55 ns | 71.05 ns | 1.15 | 0.11 | False |
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*'Details
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_StringParams
ETL Files
Histogram
JIT Disasms
System.Diagnostics.Tracing.Perf_EventListener.WriteEvent_IntParams
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 | a0c5625a8db02927113b66e776dbb670099acfbd |
| Compare | d38966ff663cb279148a82d1d0364dee40727f88 |
| Diff | Diff |
| Configs | CompilationMode:tiered, RunKind:micro |
Regressions in System.Diagnostics.Perf_EventSource
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
|---|---|---|---|---|---|---|---|---|
| 106.76 ns | 127.21 ns | 1.19 | 0.07 | False |
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.Perf_EventSource*'Details
System.Diagnostics.Perf_EventSource.Log
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Metadata
Metadata
Assignees
Labels
arch-x64area-System.Diagnostics.Tracingos-linuxLinux OS (any supported distro)Linux OS (any supported distro)runtime-coreclrspecific to the CoreCLR runtimespecific to the CoreCLR runtimetenet-performancePerformance related issuePerformance related issuetenet-performance-benchmarksIssue from performance benchmarkIssue from performance benchmark







Activity
LoopedBard3 commentedon Jul 1, 2025
Caused by: #117031. Seems like it may already be reverted 2ea2bce.
Related Regressions:
dotnet-policy-service commentedon Jul 7, 2025
Tagging subscribers to this area: @tarekgh, @tommcdon, @steveisok, @pjanotti
See info in area-owners.md if you want to be subscribed.
tarekgh commentedon Jul 7, 2025
CC @jkotas @noahfalk
jkotas commentedon Jul 7, 2025
cc @rcj1
rcj1 commentedon Jul 11, 2025
Initial investigation into the NestedScopes tests show that the TraceLoggingEventTypes constructor appears to be responsible for approximately half of the performance degradation. Still looking into the root cause of this.
rcj1 commentedon Jul 12, 2025
The issue was related to accessing EventMetadata by reference vs by value.