dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/arm64: 2 Regressions on 6/13/2026 1:50:09 PM +00:00

Open
#74,733 1 comment 0 reactions 0 assignees View on GitHub
arch-arm64 branch-refs/heads/main compilationmode-tiered kind-micro Noise os-linux perf-regression 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 | [1f254ec3b14c88b71efc7324b3d001f1fb056ecb](https://github.com/dotnet/runtime/commit/1f254ec3b14c88b71efc7324b3d001f1fb056ecb)
Compare | [9405cacd3a6016d414a20beb8aba2e4d65b346d9](https://github.com/dotnet/runtime/commit/9405cacd3a6016d414a20beb8aba2e4d65b346d9)
Diff | [Diff](https://github.com/dotnet/runtime/compare/1f254ec3b14c88b71efc7324b3d001f1fb056ecb...9405cacd3a6016d414a20beb8aba2e4d65b346d9)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro

### Regressions in System.Collections.IterateForNonGeneric<Int32>

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

  • [ArrayList - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.97 μs | 3.43 μs | 1.15 | 0.44 | 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForNonGeneric*'
```

### System.Collections.IterateForNonGeneric<Int32>.ArrayList(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)

---

### Run Information

Name | Value
-- | --
Architecture | arm64
OS | azurelinux 3.0
Queue | CobaltAzureLinux
Baseline | [1f254ec3b14c88b71efc7324b3d001f1fb056ecb](https://github.com/dotnet/runtime/commit/1f254ec3b14c88b71efc7324b3d001f1fb056ecb)
Compare | [9405cacd3a6016d414a20beb8aba2e4d65b346d9](https://github.com/dotnet/runtime/commit/9405cacd3a6016d414a20beb8aba2e4d65b346d9)
Diff | [Diff](https://github.com/dotnet/runtime/compare/1f254ec3b14c88b71efc7324b3d001f1fb056ecb...9405cacd3a6016d414a20beb8aba2e4d65b346d9)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro

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

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

  • [ArrayList - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.95 μs | 3.43 μs | 1.16 | 0.40 | 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForNonGeneric*'
```

### System.Collections.IterateForNonGeneric<String>.ArrayList(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 by running the benchmark command from the issue and inspect src/benchmarks/micro/libraries/System.Collections/Iterate/IterateForNonGeneric.cs, especially lines 24-32. Compare the baseline and test commits, then use the linked test reports and profiling workflow to investigate both ArrayList regressions; done means the reported arm64 performance regression is explained and resolved.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.