dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/arm64: 19 Improvements on 7/8/2026 8:49:11 AM +00:00

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

### Improvements in System.Numerics.Tests.Perf_Matrix4x4

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

  • [CreateFromScalars - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 11.87 ns | 2.93 ns | 0.25 | 0.20 | False | | |
|
  • [DecomposeBenchmark - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 98.99 ns | 66.10 ns | 0.67 | 0.08 | False | | |
|
  • [CreateWorldBenchmark - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 15.75 ns | 13.07 ns | 0.83 | 0.10 | False | | |
|
  • [CreateConstrainedBillboardBenchmark - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 26.55 ns | 23.24 ns | 0.88 | 0.10 | False | | |
|
  • [CreateLookAtBenchmark - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 27.97 ns | 25.99 ns | 0.93 | 0.11 | False | | |

![graph]()
![graph]()
![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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Matrix4x4*'
```

### System.Numerics.Tests.Perf_Matrix4x4.CreateFromScalars

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_Matrix4x4.DecomposeBenchmark

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_Matrix4x4.CreateWorldBenchmark

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_Matrix4x4.CreateConstrainedBillboardBenchmark

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_Matrix4x4.CreateLookAtBenchmark

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

### Improvements in System.Buffers.Tests.RentReturnArrayPoolTests<Object>

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

  • [SingleParallel - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.71 μs | 1.38 μs | 0.81 | 0.30 | False | | |
|
  • [SingleParallel - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.36 μs | 4.57 μs | 0.85 | 0.27 | False | | |
|
  • [SingleSerial - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.30 μs | 1.16 μs | 0.89 | 0.17 | False | | |
|
  • [SingleParallel - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.41 μs | 4.98 μs | 0.92 | 0.23 | False | | |

![graph]()
![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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Tests.RentReturnArrayPoolTests*'
```

### System.Buffers.Tests.RentReturnArrayPoolTests<Object>.SingleParallel(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: True)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.RentReturnArrayPoolTests<Object>.SingleParallel(RentalSize: 4096, ManipulateArray: True, Async: True, UseSharedPool: True)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.RentReturnArrayPoolTests<Object>.SingleSerial(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: True)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.RentReturnArrayPoolTests<Object>.SingleParallel(RentalSize: 4096, ManipulateArray: True, Async: True, UseSharedPool: False)

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

### Improvements in LinqBenchmarks

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

  • [Order00LinqMethodX - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1271.72 ms | 72.86 ms | 0.06 | 0.15 | False | | |
|
  • [Order00LinqQueryX - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1270.77 ms | 115.74 ms | 0.09 | 0.07 | False | | |
|
  • [AggregateBy00LinqMethodX - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 76.21 secs | 23.67 secs | 0.31 | 0.06 | False | | |
|
  • [CountBy00AggregateByX - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 41.98 secs | 21.05 secs | 0.50 | 0.08 | False | | |

![graph]()
![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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'LinqBenchmarks*'
```

### LinqBenchmarks.Order00LinqMethodX

#### ETL Files

#### Histogram

#### JIT Disasms

### LinqBenchmarks.Order00LinqQueryX

#### ETL Files

#### Histogram

#### JIT Disasms

### LinqBenchmarks.AggregateBy00LinqMethodX

#### ETL Files

#### Histogram

#### JIT Disasms

### LinqBenchmarks.CountBy00AggregateByX

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

### Improvements in System.Text.Json.Serialization.Tests.ReadJson<ImmutableSortedDictionary<String, String>>

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

  • [DeserializeFromStream - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 246.87 μs | 225.21 μs | 0.91 | 0.14 | False | | |
|
  • [DeserializeFromReader - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 252.87 μs | 232.15 μs | 0.92 | 0.16 | 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.Text.Json.Serialization.Tests.ReadJson>*'
```

### System.Text.Json.Serialization.Tests.ReadJson<ImmutableSortedDictionary<String, String>>.DeserializeFromStream(Mode: Reflection)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.ReadJson<ImmutableSortedDictionary<String, String>>.DeserializeFromReader(Mode: Reflection)

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

### Improvements in System.Linq.Tests.Perf_OrderBy

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

  • [OrderByValueType - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 659.81 μs | 51.89 μs | 0.08 | 0.08 | False | | |
|
  • [OrderByCustomComparer - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 796.17 μs | 119.89 μs | 0.15 | 0.08 | 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.Linq.Tests.Perf_OrderBy*'
```

### System.Linq.Tests.Perf_OrderBy.OrderByValueType(NumberOfPeople: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Linq.Tests.Perf_OrderBy.OrderByCustomComparer(NumberOfPeople: 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 | [c76054f5cb1aae6ab146ec7a8db70ca3aeda4ac9](https://github.com/dotnet/runtime/commit/c76054f5cb1aae6ab146ec7a8db70ca3aeda4ac9)
Compare | [3ade0b55c797a31f6800040e3ae3c5c75bc0d2dc](https://github.com/dotnet/runtime/commit/3ade0b55c797a31f6800040e3ae3c5c75bc0d2dc)
Diff | [Diff](https://github.com/dotnet/runtime/compare/c76054f5cb1aae6ab146ec7a8db70ca3aeda4ac9...3ade0b55c797a31f6800040e3ae3c5c75bc0d2dc)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro

### Improvements in System.Numerics.Tests.Perf_Plane

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

  • [CreateFromVerticesBenchmark - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 10.49 ns | 9.07 ns | 0.86 | 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Plane*'
```

### System.Numerics.Tests.Perf_Plane.CreateFromVerticesBenchmark

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

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

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

  • [SortedDictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 82.80 μs | 8.78 μs | 0.11 | 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.Collections.IterateForEach*'
```

### System.Collections.IterateForEach<String>.SortedDictionary(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 benchmark sources named in the report: src/benchmarks/micro/libraries/System.Numerics.Vectors/Perf_Matrix4x4.cs and src/benchmarks/micro/libraries/System.Buffers/ArrayPoolTests.cs. Run the provided benchmarks_ci.py command and read the profiling and benchmarking workflow docs; the issue does not state a requested change or acceptance condition, so completion is not defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.