dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/arm64: 7 Improvements on 7/1/2026 3:03:04 AM +00:00

Open
#75,917 1 comment 0 reactions 0 assignees View on GitHub
arch-arm64 branch-refs/heads/main compilationmode-tiered kind-micro Look Again os-linux perf-improvement 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 | [bc8c04f01a4c80c19e0f2a209a231f983e4c8832](https://github.com/dotnet/runtime/commit/bc8c04f01a4c80c19e0f2a209a231f983e4c8832)
Compare | [a31b4923d5b3cc51681c997b7c4834960cc5337a](https://github.com/dotnet/runtime/commit/a31b4923d5b3cc51681c997b7c4834960cc5337a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/bc8c04f01a4c80c19e0f2a209a231f983e4c8832...a31b4923d5b3cc51681c997b7c4834960cc5337a)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro

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

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

  • [Array - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 500.09 ns | 304.01 ns | 0.61 | 0.11 | False | | |
|
  • [Span - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 503.67 ns | 381.30 ns | 0.76 | 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.IndexerSetReverse*'
```

### System.Collections.IndexerSetReverse<String>.Array(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.IndexerSetReverse<String>.Span(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 | [bc8c04f01a4c80c19e0f2a209a231f983e4c8832](https://github.com/dotnet/runtime/commit/bc8c04f01a4c80c19e0f2a209a231f983e4c8832)
Compare | [a31b4923d5b3cc51681c997b7c4834960cc5337a](https://github.com/dotnet/runtime/commit/a31b4923d5b3cc51681c997b7c4834960cc5337a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/bc8c04f01a4c80c19e0f2a209a231f983e4c8832...a31b4923d5b3cc51681c997b7c4834960cc5337a)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro

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

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

  • [Span - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 500.36 ns | 376.87 ns | 0.75 | 0.11 | 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.IndexerSetReverse*'
```

### System.Collections.IndexerSetReverse<Int32>.Span(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 | [bc8c04f01a4c80c19e0f2a209a231f983e4c8832](https://github.com/dotnet/runtime/commit/bc8c04f01a4c80c19e0f2a209a231f983e4c8832)
Compare | [a31b4923d5b3cc51681c997b7c4834960cc5337a](https://github.com/dotnet/runtime/commit/a31b4923d5b3cc51681c997b7c4834960cc5337a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/bc8c04f01a4c80c19e0f2a209a231f983e4c8832...a31b4923d5b3cc51681c997b7c4834960cc5337a)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro

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

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

  • [ImmutableArray - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 496.75 ns | 374.49 ns | 0.75 | 0.09 | 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.IterateForEach*'
```

### System.Collections.IterateForEach<Int32>.ImmutableArray(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 | [bc8c04f01a4c80c19e0f2a209a231f983e4c8832](https://github.com/dotnet/runtime/commit/bc8c04f01a4c80c19e0f2a209a231f983e4c8832)
Compare | [a31b4923d5b3cc51681c997b7c4834960cc5337a](https://github.com/dotnet/runtime/commit/a31b4923d5b3cc51681c997b7c4834960cc5337a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/bc8c04f01a4c80c19e0f2a209a231f983e4c8832...a31b4923d5b3cc51681c997b7c4834960cc5337a)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro

### Improvements in System.Buffers.Tests.SearchValuesCharTests

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

  • [LastIndexOfAnyExcept - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 176.27 ns | 150.41 ns | 0.85 | 0.07 | 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.Buffers.Tests.SearchValuesCharTests*'
```

### System.Buffers.Tests.SearchValuesCharTests.LastIndexOfAnyExcept(Values: "ßäöüÄÖÜ")

#### 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 | [bc8c04f01a4c80c19e0f2a209a231f983e4c8832](https://github.com/dotnet/runtime/commit/bc8c04f01a4c80c19e0f2a209a231f983e4c8832)
Compare | [a31b4923d5b3cc51681c997b7c4834960cc5337a](https://github.com/dotnet/runtime/commit/a31b4923d5b3cc51681c997b7c4834960cc5337a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/bc8c04f01a4c80c19e0f2a209a231f983e4c8832...a31b4923d5b3cc51681c997b7c4834960cc5337a)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro

### Improvements in System.Numerics.Tests.Perf_BigInteger

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

  • [ToStringD - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.22 μs | 1.12 μs | 0.91 | 0.10 | 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.Numerics.Tests.Perf_BigInteger*'
```

### System.Numerics.Tests.Perf_BigInteger.ToStringD(numberString: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)

#### 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 | [bc8c04f01a4c80c19e0f2a209a231f983e4c8832](https://github.com/dotnet/runtime/commit/bc8c04f01a4c80c19e0f2a209a231f983e4c8832)
Compare | [a31b4923d5b3cc51681c997b7c4834960cc5337a](https://github.com/dotnet/runtime/commit/a31b4923d5b3cc51681c997b7c4834960cc5337a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/bc8c04f01a4c80c19e0f2a209a231f983e4c8832...a31b4923d5b3cc51681c997b7c4834960cc5337a)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro

### Improvements in System.Tests.Perf_Decimal

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

  • [Add - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 10.18 ns | 9.15 ns | 0.90 | 0.23 | 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.Tests.Perf_Decimal*'
```

### System.Tests.Perf_Decimal.Add

#### 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.Collections/Indexer/IndexerSetReverse.cs and src/benchmarks/micro/libraries/System.Collections/Iterate/IterateForEach.cs, then read the linked test reports and benchmarking workflow documentation. Run the provided benchmarks for the listed filters on the arm64 configuration and compare the reported results; the issue does not specify a code change or other completion criterion.

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
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.