dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/arm64: 6 Improvements on 8/7/2026 4:52:16 PM +00:00

Open
#77,884 1 comment 0 reactions 0 assignees View on GitHub
ampere arch-arm64 branch-refs/heads/main compilationmode-tiered kind-micro Look Again os-linux perf-improvement 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 | ubuntu 22.04
Queue | AmpereUbuntu
Baseline | [9bf3be3ad48e77e97436fa96825cb713a6964389](https://github.com/dotnet/runtime/commit/9bf3be3ad48e77e97436fa96825cb713a6964389)
Compare | [4c86c57ac3a6569063da4cb0a7245aadbc276f00](https://github.com/dotnet/runtime/commit/4c86c57ac3a6569063da4cb0a7245aadbc276f00)
Diff | [Diff](https://github.com/dotnet/runtime/compare/9bf3be3ad48e77e97436fa96825cb713a6964389...4c86c57ac3a6569063da4cb0a7245aadbc276f00)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Collections.IterateForEach<String>

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

  • [ImmutableList - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 13.28 μs | 11.40 μs | 0.86 | 0.32 | False | | |
|
  • [ImmutableSortedSet - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 14.62 μs | 12.93 μs | 0.88 | 0.33 | False | | |
|
  • [ImmutableDictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 24.79 μs | 22.55 μs | 0.91 | 0.37 | 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.Collections.IterateForEach*'
```

### System.Collections.IterateForEach<String>.ImmutableList(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.IterateForEach<String>.ImmutableSortedSet(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.IterateForEach<String>.ImmutableDictionary(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 | ubuntu 22.04
Queue | AmpereUbuntu
Baseline | [9bf3be3ad48e77e97436fa96825cb713a6964389](https://github.com/dotnet/runtime/commit/9bf3be3ad48e77e97436fa96825cb713a6964389)
Compare | [4c86c57ac3a6569063da4cb0a7245aadbc276f00](https://github.com/dotnet/runtime/commit/4c86c57ac3a6569063da4cb0a7245aadbc276f00)
Diff | [Diff](https://github.com/dotnet/runtime/compare/9bf3be3ad48e77e97436fa96825cb713a6964389...4c86c57ac3a6569063da4cb0a7245aadbc276f00)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Collections.Sort<Int32>

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

  • [Array_ComparerStruct - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 26.98 μs | 24.36 μs | 0.90 | 0.35 | 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.Collections.Sort*'
```

### System.Collections.Sort<Int32>.Array_ComparerStruct(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 | ubuntu 22.04
Queue | AmpereUbuntu
Baseline | [9bf3be3ad48e77e97436fa96825cb713a6964389](https://github.com/dotnet/runtime/commit/9bf3be3ad48e77e97436fa96825cb713a6964389)
Compare | [4c86c57ac3a6569063da4cb0a7245aadbc276f00](https://github.com/dotnet/runtime/commit/4c86c57ac3a6569063da4cb0a7245aadbc276f00)
Diff | [Diff](https://github.com/dotnet/runtime/compare/9bf3be3ad48e77e97436fa96825cb713a6964389...4c86c57ac3a6569063da4cb0a7245aadbc276f00)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Collections.Sort<IntStruct>

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

  • [Array_ComparerStruct - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 27.36 μs | 24.50 μs | 0.90 | 0.34 | 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.Collections.Sort*'
```

### System.Collections.Sort<IntStruct>.Array_ComparerStruct(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 | ubuntu 22.04
Queue | AmpereUbuntu
Baseline | [9bf3be3ad48e77e97436fa96825cb713a6964389](https://github.com/dotnet/runtime/commit/9bf3be3ad48e77e97436fa96825cb713a6964389)
Compare | [4c86c57ac3a6569063da4cb0a7245aadbc276f00](https://github.com/dotnet/runtime/commit/4c86c57ac3a6569063da4cb0a7245aadbc276f00)
Diff | [Diff](https://github.com/dotnet/runtime/compare/9bf3be3ad48e77e97436fa96825cb713a6964389...4c86c57ac3a6569063da4cb0a7245aadbc276f00)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock

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

  • [Count - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.09 ms | 1.01 ms | 0.93 | 0.27 | 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.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock*'
```

### System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: ".*", Options: Compiled)

#### 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 sources in src/benchmarks/micro/libraries/System.Collections/Iterate/IterateForEach.cs and Sort.cs, then run the provided benchmarks_ci.py commands. Review the baseline, comparison, graphs, and test reports for the ARM64 Ubuntu 22.04 results. Done requires a reproducible finding and a clearly identified runtime change or follow-up.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, linux, python
Domain
performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.