dotnet / dotnet/perf-autofiling-issues
[Perf] Linux/arm64: 24 Regressions on 8/8/2026 4:13:10 AM +00:00
- Dominant language
- No language data
- Stars
- 10
- Forks
- 8
- PR merge metrics
- PR metrics pending
Description
### Run Information
Name | Value
-- | --
Architecture | arm64
OS | azurelinux 3.0
Queue | CobaltAzureLinux
Baseline | [7da460b99b9c7e76b3060ef6da6687a008263ab9](https://github.com/dotnet/runtime/commit/7da460b99b9c7e76b3060ef6da6687a008263ab9)
Compare | [f5f5f83dd8676416636eda75d8c091c6c4f8d506](https://github.com/dotnet/runtime/commit/f5f5f83dd8676416636eda75d8c091c6c4f8d506)
Diff | [Diff](https://github.com/dotnet/runtime/compare/7da460b99b9c7e76b3060ef6da6687a008263ab9...f5f5f83dd8676416636eda75d8c091c6c4f8d506)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro
### Regressions in Exceptions.Handling
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [ThrowAndCatchDeepRecursive - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ThrowAndCatchDeepRecursive - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ThrowAndCatchDeep - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ThrowAndCatchWhenFinally - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ThrowAndCatchDeepRecursive - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ThrowAndCatchWhen - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [TryAndCatchDeep_CaugtAtTheTop - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [CatchAndRethrowDeep - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [MultipleNestedTryCatch_FirstCatches - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ThrowAndCatchDeepRecursive - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ThrowAndCatchFinally - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ThrowAndCatch - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [CatchAndThrowOtherDeep - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [MultipleNestedTryFinally - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [MultipleNestedTryCatch_LastCatches - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ThrowAndCatchDeep - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [CatchAndThrowOtherDeep - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ThrowAndCatch_ManyCatchBlocks - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [CatchAndRethrowDeep - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ThrowAndCatch - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ThrowAndCatch_ManyCatchBlocks - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ThrowAndCatchDeep - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ThrowAndCatchWhenFinally - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![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
```cmd
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Exceptions.Handling*'
```
### Exceptions.Handling.ThrowAndCatchDeepRecursive(kind: ReflectionHardware)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.ThrowAndCatchDeepRecursive(kind: Software)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.ThrowAndCatchDeep(kind: Software)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.ThrowAndCatchWhenFinally(kind: Software)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.ThrowAndCatchDeepRecursive(kind: ReflectionSoftware)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.ThrowAndCatchWhen(kind: Software)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.TryAndCatchDeep_CaugtAtTheTop(kind: Software)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.CatchAndRethrowDeep(kind: Software)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.MultipleNestedTryCatch_FirstCatches(kind: Software)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.ThrowAndCatchDeepRecursive(kind: Hardware)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.ThrowAndCatchFinally(kind: Software)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.ThrowAndCatch(kind: Software)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.CatchAndThrowOtherDeep(kind: Software)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.MultipleNestedTryFinally(kind: Software)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.MultipleNestedTryCatch_LastCatches(kind: Software)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.ThrowAndCatchDeep(kind: Hardware)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.CatchAndThrowOtherDeep(kind: Hardware)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.ThrowAndCatch_ManyCatchBlocks(kind: ReflectionSoftware)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.CatchAndRethrowDeep(kind: Hardware)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.ThrowAndCatch(kind: ReflectionSoftware)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.ThrowAndCatch_ManyCatchBlocks(kind: Software)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.ThrowAndCatchDeep(kind: ReflectionHardware)
#### ETL Files
#### Histogram
#### JIT Disasms
### Exceptions.Handling.ThrowAndCatchWhenFinally(kind: Hardware)
#### 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 | arm64
OS | azurelinux 3.0
Queue | CobaltAzureLinux
Baseline | [7da460b99b9c7e76b3060ef6da6687a008263ab9](https://github.com/dotnet/runtime/commit/7da460b99b9c7e76b3060ef6da6687a008263ab9)
Compare | [f5f5f83dd8676416636eda75d8c091c6c4f8d506](https://github.com/dotnet/runtime/commit/f5f5f83dd8676416636eda75d8c091c6c4f8d506)
Diff | [Diff](https://github.com/dotnet/runtime/compare/7da460b99b9c7e76b3060ef6da6687a008263ab9...f5f5f83dd8676416636eda75d8c091c6c4f8d506)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro
### Regressions in System.Tests.Perf_Environment
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [SetEnvironmentVariable - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
![graph]()
[Test Report]()
### Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
```cmd
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Environment*'
```
### System.Tests.Perf_Environment.SetEnvironmentVariable
#### 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)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the benchmark source at src/benchmarks/micro/runtime/Exceptions/Handling.cs, especially lines 135-171, 194-243, and 380-395, then compare the baseline and compare commits in the run information. Reproduce the affected Exceptions.Handling benchmarks on arm64 AzureLinux with the listed tiered and r2r_interpreter configuration; done means the regression's cause is identified and the affected measurements no longer regress.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, csharp, linux
- Domain
- performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100