dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/x64: 9 Regressions on 8/19/2026 11:48:00 PM +00:00

Open
#78,422 1 comment 0 reactions 0 assignees View on GitHub
aot-true arch-wasm arch-x64 branch-refs/heads/main compilationmode-wasm kind-micro Look Again os-linux perf-regression PGO 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 | [22645b47c400e6cc0aec97ddcb3f1998677b6d94](https://github.com/dotnet/runtime/commit/22645b47c400e6cc0aec97ddcb3f1998677b6d94)
Compare | [cb8ddc8cac0182e932903d921bd09300be7ae2a6](https://github.com/dotnet/runtime/commit/cb8ddc8cac0182e932903d921bd09300be7ae2a6)
Diff | [Diff](https://github.com/dotnet/runtime/compare/22645b47c400e6cc0aec97ddcb3f1998677b6d94...cb8ddc8cac0182e932903d921bd09300be7ae2a6)
Configs | AOT:true, CompilationMode:wasm, RunKind:micro

### Regressions in System.Numerics.Tests.Perf_BigInteger

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

  • [ModPow - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.05 ms | 1.30 ms | 1.23 | 0.08 | False | | |
|
  • [GreatestCommonDivisor - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.39 μs | 5.38 μs | 1.22 | 0.05 | False | | |
|
  • [Multiply - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 19.19 ns | 22.81 ns | 1.19 | 0.14 | False | | |
|
  • [ModPow - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 68.35 μs | 79.12 μs | 1.16 | 0.34 | False | | |

![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_BigInteger*'
```

### System.Numerics.Tests.Perf_BigInteger.ModPow(arguments: 16384,16384,64 bits)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.GreatestCommonDivisor(arguments: 1024,1024 bits)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.Multiply(arguments: 16,8 bits)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.ModPow(arguments: 1024,1024,64 bits)

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

### Regressions in System.Tests.Perf_Single

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

  • [ToStringWithFormat - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 299.16 ns | 363.11 ns | 1.21 | 0.16 | False | | |
|
  • [ToStringWithFormat - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 444.10 ns | 494.43 ns | 1.11 | 0.08 | False | | |

![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_Single*'
```

### System.Tests.Perf_Single.ToStringWithFormat(value: 12345, format: "G17")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Single.ToStringWithFormat(value: 12345, format: "F50")

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

### Regressions in System.Tests.Perf_Double

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

  • [ToStringWithFormat - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 309.38 ns | 390.15 ns | 1.26 | 0.16 | False | | |
|
  • [ToStringWithFormat - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 450.52 ns | 492.94 ns | 1.09 | 0.09 | False | | |

![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_Double*'
```

### System.Tests.Perf_Double.ToStringWithFormat(value: 12345, format: "G17")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Double.ToStringWithFormat(value: 12345, format: "F50")

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

### Regressions in System.Tests.Perf_String

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

  • [Format_OneArg - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.63 μs | 1.88 μs | 1.15 | 0.12 | False | | |

![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_String*'
```

### System.Tests.Perf_String.Format_OneArg(s: "Testing {0}, {0:C}, {0:E} - {0:F4}{0:G}{0:N} , !!", o: 3.14159)

#### 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 sources src/benchmarks/micro/libraries/System.Runtime.Numerics/Perf.BigInteger.cs and src/benchmarks/micro/libraries/System.Runtime/Perf.Single.cs, then reproduce the listed benchmarks with the provided benchmarks_ci.py command. Compare the baseline and test commits and use the linked reports to identify the cause of the regressions. Done means the regressions are explained and a validated change removes them.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, python, wasm
Domain
performance, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.