dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/x64: 110 Regressions on 5/19/2026 5:33:16 PM +00:00

Open
#73,330 7 comments 0 reactions 0 assignees View on GitHub
aot-true arch-wasm arch-x64 bdn-update branch-refs/heads/main compilationmode-wasm kind-micro Look Again os-linux perf-regression runkind-micro untriaged wasm-aot
Dominant language
No language data
Stars
10
Forks
8
PR merge metrics
PR metrics pending

Description

### Run Information

Name | Value
-- | --
Architecture | x64
OS | ubuntu 22.04
Queue | ViperUbuntu
Baseline | [21d1570e075a895f62c292a5e1854947b97c7dbc](https://github.com/dotnet/runtime/commit/21d1570e075a895f62c292a5e1854947b97c7dbc)
Compare | [f397c835cc1c655505d2a22fd0cebb9e96733d0b](https://github.com/dotnet/runtime/commit/f397c835cc1c655505d2a22fd0cebb9e96733d0b)
Diff | [Diff](https://github.com/dotnet/runtime/compare/21d1570e075a895f62c292a5e1854947b97c7dbc...f397c835cc1c655505d2a22fd0cebb9e96733d0b)
Configs | AOT:true, CompilationMode:wasm, RunKind:micro

### Regressions in Exceptions.Handling

Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|

  • [TryAndCatchDeep_CaugtAtTheTop - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 16.83 μs | 19.98 μs | 1.19 | 0.04 | False | | |
|
  • [TryAndCatchDeep_CaugtAtTheTop - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 16.93 μs | 20.04 μs | 1.18 | 0.04 | False | | |
|
  • [ThrowAndCatchDeep - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 13.02 μs | 14.32 μs | 1.10 | 0.03 | False | | |
|
  • [MultipleNestedTryCatch_FirstCatches - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.03 μs | 5.53 μs | 1.10 | 0.03 | False | | |
|
  • [ThrowAndCatchDeepRecursive - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 13.11 μs | 14.36 μs | 1.10 | 0.02 | False | | |
|
  • [ThrowAndCatchDeepRecursive - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 13.74 μs | 14.95 μs | 1.09 | 0.04 | False | | |
|
  • [CatchAndRethrowDeep - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 43.64 μs | 47.42 μs | 1.09 | 0.03 | False | | |
|
  • [ThrowAndCatchDeep - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 13.76 μs | 14.92 μs | 1.08 | 0.03 | False | | |
|
  • [ThrowAndCatch - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 13.55 μs | 14.64 μs | 1.08 | 0.02 | False | | |
|
  • [ThrowAndCatchWhenFinally - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.13 μs | 5.53 μs | 1.08 | 0.06 | False | | |
|
  • [ThrowAndCatch_ManyCatchBlocks - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 14.42 μs | 15.52 μs | 1.08 | 0.04 | False | | |
|
  • [CatchAndRethrowDeep - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 42.68 μs | 45.67 μs | 1.07 | 0.02 | False | | |
|
  • [ThrowAndCatch_ManyCatchBlocks - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 14.71 μs | 15.74 μs | 1.07 | 0.03 | False | | |
|
  • [ThrowAndCatchWhen - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.09 μs | 5.42 μs | 1.07 | 0.06 | False | | |
|
  • [ThrowAndCatchDeepRecursive - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.11 μs | 5.45 μs | 1.07 | 0.05 | False | | |
|
  • [MultipleNestedTryCatch_LastCatches - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.53 μs | 5.88 μs | 1.06 | 0.05 | False | | |
|
  • [ThrowAndCatch - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.06 μs | 5.38 μs | 1.06 | 0.05 | False | | |
|
  • [ThrowAndCatchFinally - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.17 μs | 5.49 μs | 1.06 | 0.04 | False | | |
|
  • [ThrowAndCatchDeepRecursive - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.30 μs | 5.63 μs | 1.06 | 0.04 | False | | |
|
  • [CatchAndThrowOtherDeep - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 49.96 μs | 52.82 μs | 1.06 | 0.04 | False | | |
|
  • [ThrowAndCatchDeep - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.27 μs | 5.54 μs | 1.05 | 0.07 | False | | |
|
  • [ThrowAndCatchFinally - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.06 μs | 5.31 μs | 1.05 | 0.05 | False | | |

![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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Exceptions.Handling*'
```

### Exceptions.Handling.TryAndCatchDeep_CaugtAtTheTop(kind: Software)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.TryAndCatchDeep_CaugtAtTheTop(kind: Hardware)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.ThrowAndCatchDeep(kind: ReflectionSoftware)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.MultipleNestedTryCatch_FirstCatches(kind: Software)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.ThrowAndCatchDeepRecursive(kind: ReflectionSoftware)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.ThrowAndCatchDeepRecursive(kind: ReflectionHardware)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.CatchAndRethrowDeep(kind: Hardware)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.ThrowAndCatchDeep(kind: ReflectionHardware)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.ThrowAndCatch(kind: ReflectionHardware)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.ThrowAndCatchWhenFinally(kind: Hardware)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.ThrowAndCatch_ManyCatchBlocks(kind: ReflectionSoftware)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.CatchAndRethrowDeep(kind: Software)

#### 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.ThrowAndCatchDeepRecursive(kind: Software)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.MultipleNestedTryCatch_LastCatches(kind: Hardware)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.ThrowAndCatch(kind: Software)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.ThrowAndCatchFinally(kind: Hardware)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.ThrowAndCatchDeepRecursive(kind: Hardware)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.CatchAndThrowOtherDeep(kind: Hardware)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.ThrowAndCatchDeep(kind: Hardware)

#### ETL Files

#### Histogram

#### JIT Disasms

### Exceptions.Handling.ThrowAndCatchFinally(kind: Software)

#### 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 | ViperUbuntu
Baseline | [21d1570e075a895f62c292a5e1854947b97c7dbc](https://github.com/dotnet/runtime/commit/21d1570e075a895f62c292a5e1854947b97c7dbc)
Compare | [f397c835cc1c655505d2a22fd0cebb9e96733d0b](https://github.com/dotnet/runtime/commit/f397c835cc1c655505d2a22fd0cebb9e96733d0b)
Diff | [Diff](https://github.com/dotnet/runtime/compare/21d1570e075a895f62c292a5e1854947b97c7dbc...f397c835cc1c655505d2a22fd0cebb9e96733d0b)
Configs | AOT:true, CompilationMode:wasm, RunKind:micro

### Regressions in System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>

Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|

  • [Sigmoid - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.12 μs | 1.38 μs | 1.23 | 0.26 | False | | |
|
  • [Truncate - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 668.65 ns | 822.68 ns | 1.23 | 0.32 | False | | |
|
  • [Truncate - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 17.69 μs | 20.68 μs | 1.17 | 0.27 | False | | |
|
  • [FusedMultiplyAdd_Vectors - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 635.99 ns | 728.84 ns | 1.15 | 0.21 | False | | |
|
  • [Ieee754Remainder_ScalarDivisor - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 149.03 μs | 165.27 μs | 1.11 | 0.33 | False | | |
|
  • [Round - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 907.79 ns | 1000.81 ns | 1.10 | 0.22 | False | | |
|
  • [Ieee754Remainder_ScalarDividend - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.79 μs | 6.37 μs | 1.10 | 0.16 | False | | |
|
  • [Ieee754Remainder_ScalarDivisor - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.84 μs | 6.36 μs | 1.09 | 0.10 | False | | |

![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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives*'
```

### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Sigmoid(BufferLength: 128)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Truncate(BufferLength: 128)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Truncate(BufferLength: 3079)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.FusedMultiplyAdd_Vectors(BufferLength: 128)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Ieee754Remainder_ScalarDivisor(BufferLength: 3079)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Round(BufferLength: 128)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Ieee754Remainder_ScalarDividend(BufferLength: 128)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Ieee754Remainder_ScalarDivisor(BufferLength: 128)

#### 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

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.