dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/x64: 937 Regressions on 2/26/2026 7:23:53 AM +00:00

Open
#69,430 34 comments 0 reactions 1 assignee Claimed by @tannergooding View on GitHub
arch-wasm arch-x64 branch-refs/heads/main kind-micro os-linux perf-regression PGO 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 | [c4066cf778a3fde110c0ab6691baa941d95a5e0c](https://github.com/dotnet/runtime/commit/c4066cf778a3fde110c0ab6691baa941d95a5e0c)
Compare | [eae0a64e4c28b1a692c02650a8d15d6383a6e72b](https://github.com/dotnet/runtime/commit/eae0a64e4c28b1a692c02650a8d15d6383a6e72b)
Diff | [Diff](https://github.com/dotnet/runtime/compare/c4066cf778a3fde110c0ab6691baa941d95a5e0c...eae0a64e4c28b1a692c02650a8d15d6383a6e72b)
Configs | AOT:true, CompilationMode:wasm, RunKind:micro

### Regressions in System.Tests.Perf_Int32

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

  • [TryParse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.11 ns | 24.17 ns | 1.14 | 0.26 | False | | |
|
  • [TryParseSpan - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 20.15 ns | 25.33 ns | 1.26 | 0.24 | False | | |
|
  • [Parse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 29.89 ns | 35.97 ns | 1.20 | 0.20 | False | | |
|
  • [ToStringHex - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 49.50 ns | 58.17 ns | 1.18 | 0.32 | False | | |
|
  • [Parse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 33.56 ns | 40.50 ns | 1.21 | 0.18 | False | | |
|
  • [TryParse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 29.06 ns | 32.69 ns | 1.12 | 0.16 | False | | |
|
  • [ToStringHex - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 51.83 ns | 59.42 ns | 1.15 | 0.25 | False | | |
|
  • [TryFormat - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.79 ns | 24.97 ns | 1.15 | 0.16 | False | | |
|
  • [ToStringHex - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 52.33 ns | 56.84 ns | 1.09 | 0.31 | False | | |
|
  • [ParseSpan - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 25.71 ns | 31.89 ns | 1.24 | 0.18 | False | | |
|
  • [ToString - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 37.82 ns | 43.52 ns | 1.15 | 0.23 | False | | |
|
  • [Parse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 30.23 ns | 34.26 ns | 1.13 | 0.18 | False | | |
|
  • [TryParseSpan - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 26.71 ns | 31.41 ns | 1.18 | 0.19 | False | | |
|
  • [ParseHex - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 36.24 ns | 43.03 ns | 1.19 | 0.19 | False | | |
|
  • [TryParseSpan - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 22.11 ns | 26.71 ns | 1.21 | 0.22 | False | | |
|
  • [Parse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 33.48 ns | 41.64 ns | 1.24 | 0.29 | False | | |
|
  • [ToString - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 6.70 ns | 14.47 ns | 2.16 | 0.28 | False | | |
|
  • [ParseHex - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 36.58 ns | 44.82 ns | 1.23 | 0.12 | False | | |
|
  • [ParseHex - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 31.76 ns | 40.13 ns | 1.26 | 0.17 | False | | |
|
  • [ToStringHex - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 52.40 ns | 63.93 ns | 1.22 | 0.26 | False | | |
|
  • [TryParse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 22.49 ns | 25.36 ns | 1.13 | 0.23 | False | | |
|
  • [TryFormat - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 17.96 ns | 21.29 ns | 1.19 | 0.28 | False | | |
|
  • [TryParseSpan - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 26.24 ns | 31.84 ns | 1.21 | 0.16 | False | | |

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

### System.Tests.Perf_Int32.TryParse(value: "4")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryParseSpan(value: "4")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.Parse(value: "12345")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ToStringHex(value: 12345)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.Parse(value: "2147483647")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryParse(value: "-2147483648")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ToStringHex(value: -2147483648)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryFormat(value: 2147483647)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ToStringHex(value: 4)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ParseSpan(value: "4")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ToString(value: 12345)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.Parse(value: "4")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryParseSpan(value: "2147483647")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ParseHex(value: "7FFFFFFF")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryParseSpan(value: "12345")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.Parse(value: "-2147483648")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ToString(value: 4)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ParseHex(value: "80000000")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ParseHex(value: "3039")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ToStringHex(value: 2147483647)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryParse(value: "12345")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryFormat(value: 12345)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryParseSpan(value: "-2147483648")

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

### Regressions in System.Numerics.Tests.Perf_Plane

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

  • [DotBenchmark - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.56 ns | 3.43 ns | 2.20 | 0.47 | False | | |
|
  • [DotNormalBenchmark - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.53 ns | 3.42 ns | 2.23 | 0.48 | False | | |
|
  • [CreateFromVerticesBenchmark - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 6.41 ns | 10.05 ns | 1.57 | 0.25 | False | | |
|
  • [TransformByQuaternionBenchmark - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.57 ns | 9.20 ns | 1.65 | 0.36 | False | | |
|
  • [EqualsBenchmark - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 0.06 ns | 1.08 ns | 19.20 | 0.88 | False | | |
|
  • [DotCoordinateBenchmark - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.59 ns | 3.42 ns | 2.16 | 0.48 | False | | |

![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.Tests.Perf_Plane*'
```

### System.Numerics.Tests.Perf_Plane.DotBenchmark

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_Plane.DotNormalBenchmark

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_Plane.CreateFromVerticesBenchmark

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_Plane.TransformByQuaternionBenchmark

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_Plane.EqualsBenchmark

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_Plane.DotCoordinateBenchmark

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

### Regressions in System.Tests.Perf_Guid

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

  • [ctor_bytes - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 10.77 ns | 13.64 ns | 1.27 | 0.39 | False | | |
|
  • [TryWriteBytes - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 6.11 ns | 11.35 ns | 1.86 | 0.34 | False | | |
|
  • [ParseExactD - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 44.55 ns | 49.90 ns | 1.12 | 0.10 | False | | |

![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.Tests.Perf_Guid*'
```

### System.Tests.Perf_Guid.ctor_bytes

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Guid.TryWriteBytes

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Guid.ParseExactD

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