dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/x64: 5 Regressions on 4/14/2026 5:24:29 PM +00:00

Open
#71,694 1 comment 0 reactions 0 assignees View on GitHub
arch-wasm arch-x64 branch-refs/heads/main compilationmode-wasm kind-micro os-linux perf-regression runkind-micro runtimetype-coreclr untriaged
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 | [60815e7908757660418fb297313fecd4b8c080ac](https://github.com/dotnet/runtime/commit/60815e7908757660418fb297313fecd4b8c080ac)
Compare | [e697a301818934fb3153829e3c8cb22b462f15fc](https://github.com/dotnet/runtime/commit/e697a301818934fb3153829e3c8cb22b462f15fc)
Diff | [Diff](https://github.com/dotnet/runtime/compare/60815e7908757660418fb297313fecd4b8c080ac...e697a301818934fb3153829e3c8cb22b462f15fc)
Configs | CompilationMode:wasm, RunKind:micro, RuntimeType:coreclr

### Regressions in System.IO.Hashing.Tests.Crc64_GetCurrentHashPerf

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

  • [GetCurrentHashAsUInt64 - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 26.37 ns | 84.78 ns | 3.21 | 0.34 | False | | |
|
  • [GetCurrentHash - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 809.02 ns | 902.56 ns | 1.12 | 0.43 | 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.IO.Hashing.Tests.Crc64_GetCurrentHashPerf*'
```

### System.IO.Hashing.Tests.Crc64_GetCurrentHashPerf.GetCurrentHashAsUInt64

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Hashing.Tests.Crc64_GetCurrentHashPerf.GetCurrentHash

#### 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 | [60815e7908757660418fb297313fecd4b8c080ac](https://github.com/dotnet/runtime/commit/60815e7908757660418fb297313fecd4b8c080ac)
Compare | [e697a301818934fb3153829e3c8cb22b462f15fc](https://github.com/dotnet/runtime/commit/e697a301818934fb3153829e3c8cb22b462f15fc)
Diff | [Diff](https://github.com/dotnet/runtime/compare/60815e7908757660418fb297313fecd4b8c080ac...e697a301818934fb3153829e3c8cb22b462f15fc)
Configs | CompilationMode:wasm, RunKind:micro, RuntimeType:coreclr

### Regressions in System.IO.Hashing.Tests.Crc32_GetCurrentHashPerf

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

  • [GetCurrentHashAsUInt32 - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 32.13 ns | 87.88 ns | 2.74 | 0.31 | False | | |
|
  • [GetCurrentHash - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 490.04 ns | 623.57 ns | 1.27 | 0.38 | 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.IO.Hashing.Tests.Crc32_GetCurrentHashPerf*'
```

### System.IO.Hashing.Tests.Crc32_GetCurrentHashPerf.GetCurrentHashAsUInt32

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Hashing.Tests.Crc32_GetCurrentHashPerf.GetCurrentHash

#### 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 | [60815e7908757660418fb297313fecd4b8c080ac](https://github.com/dotnet/runtime/commit/60815e7908757660418fb297313fecd4b8c080ac)
Compare | [e697a301818934fb3153829e3c8cb22b462f15fc](https://github.com/dotnet/runtime/commit/e697a301818934fb3153829e3c8cb22b462f15fc)
Diff | [Diff](https://github.com/dotnet/runtime/compare/60815e7908757660418fb297313fecd4b8c080ac...e697a301818934fb3153829e3c8cb22b462f15fc)
Configs | CompilationMode:wasm, RunKind:micro, RuntimeType:coreclr

### Regressions in Microsoft.Extensions.DependencyInjection.TimeToFirstService

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

  • [Singleton - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 134.20 μs | 175.42 μs | 1.31 | 0.08 | 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 'Microsoft.Extensions.DependencyInjection.TimeToFirstService*'
```

### Microsoft.Extensions.DependencyInjection.TimeToFirstService.Singleton(Mode: "Default")

#### 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 dotnet/performance benchmark workflow and run benchmarks_ci.py using the filters for Crc32_GetCurrentHashPerf and Crc64_GetCurrentHashPerf. Inspect TimeToFirstServiceBenchmark.cs at the linked lines, then compare the baseline and test commits and review the linked reports. Done means identifying and addressing the reported Linux/x64 WebAssembly performance regressions.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.