dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/arm64: 2 Regressions on 9/7/2026 9:35:50 AM +00:00

Open
#79,267 1 comment 0 reactions 0 assignees View on GitHub
arch-arm64 branch-refs/heads/main compilationmode-tiered kind-micro os-linux perf-regression PGO r2rtype-r2r_interpreter runkind-micro runtime-coreclr untriaged
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 | [570fcdab16c5b674bb59007f4faa705671d69cc2](https://github.com/dotnet/runtime/commit/570fcdab16c5b674bb59007f4faa705671d69cc2)
Compare | [294fe754ccc3db80640c7e34018d97cfac834f51](https://github.com/dotnet/runtime/commit/294fe754ccc3db80640c7e34018d97cfac834f51)
Diff | [Diff](https://github.com/dotnet/runtime/compare/570fcdab16c5b674bb59007f4faa705671d69cc2...294fe754ccc3db80640c7e34018d97cfac834f51)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro

### Regressions in System.Collections.CreateAddAndClear<String>

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

  • [LinkedList - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 38.23 μs | 40.99 μs | 1.07 | 0.17 | False | | |
|
  • [ImmutableQueue - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 61.85 μs | 65.59 μs | 1.06 | 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CreateAddAndClear*'
```

### System.Collections.CreateAddAndClear<String>.LinkedList(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CreateAddAndClear<String>.ImmutableQueue(Size: 512)

#### 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 linked benchmark source at src/benchmarks/micro/libraries/System.Collections/CreateAddAndClear.cs, especially the LinkedList and ImmutableQueue cases, and review the baseline/compare commits. Run the documented benchmarks_ci.py command and inspect the linked test report and profiling workflow; done means identifying and addressing the cause of both arm64 regressions.

Written by the indexing model from the issue text.

Assessment

Domain
performance
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.