dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/arm64: 6 Improvements on 8/21/2026 7:05:07 PM +00:00

Open
#78,550 1 comment 0 reactions 0 assignees View on GitHub
arch-arm64 branch-refs/heads/main compilationmode-tiered kind-micro Noise 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 | azurelinux 3.0
Queue | CobaltAzureLinux
Baseline | [76c60b960a2daa412c44a5061abf66f3286f6a92](https://github.com/dotnet/runtime/commit/76c60b960a2daa412c44a5061abf66f3286f6a92)
Compare | [58a829968e8d2624cbcb4e2ce7f1bb01cb9f652b](https://github.com/dotnet/runtime/commit/58a829968e8d2624cbcb4e2ce7f1bb01cb9f652b)
Diff | [Diff](https://github.com/dotnet/runtime/compare/76c60b960a2daa412c44a5061abf66f3286f6a92...58a829968e8d2624cbcb4e2ce7f1bb01cb9f652b)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Reflection.Invoke

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

  • [StaticMethod4_ByRefParams_int_string_struct_class_MethodInvoker - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 164.04 ns | 135.13 ns | 0.82 | 0.23 | False | | |
|
  • [StaticMethod5_ByRefParams_int_string_struct_class_bool_MethodInvoker - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 279.82 ns | 245.81 ns | 0.88 | 0.15 | False | | |
|
  • [Ctor4_ActivatorCreateInstance - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 508.80 ns | 458.74 ns | 0.90 | 0.18 | 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Reflection.Invoke*'
```

### System.Reflection.Invoke.StaticMethod4_ByRefParams_int_string_struct_class_MethodInvoker

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Invoke.StaticMethod5_ByRefParams_int_string_struct_class_bool_MethodInvoker

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Invoke.Ctor4_ActivatorCreateInstance

#### 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 | [76c60b960a2daa412c44a5061abf66f3286f6a92](https://github.com/dotnet/runtime/commit/76c60b960a2daa412c44a5061abf66f3286f6a92)
Compare | [58a829968e8d2624cbcb4e2ce7f1bb01cb9f652b](https://github.com/dotnet/runtime/commit/58a829968e8d2624cbcb4e2ce7f1bb01cb9f652b)
Diff | [Diff](https://github.com/dotnet/runtime/compare/76c60b960a2daa412c44a5061abf66f3286f6a92...58a829968e8d2624cbcb4e2ce7f1bb01cb9f652b)
Configs | CompilationMode:tiered, RunKind:micro

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

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

  • [OrderedDictionary - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 31.10 ns | 27.29 ns | 0.88 | 0.29 | False | | |
|
  • [HashSet - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 29.92 ns | 27.34 ns | 0.91 | 0.29 | 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.CtorDefaultSize*'
```

### System.Collections.CtorDefaultSize<String>.OrderedDictionary

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorDefaultSize<String>.HashSet

#### 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 | [76c60b960a2daa412c44a5061abf66f3286f6a92](https://github.com/dotnet/runtime/commit/76c60b960a2daa412c44a5061abf66f3286f6a92)
Compare | [58a829968e8d2624cbcb4e2ce7f1bb01cb9f652b](https://github.com/dotnet/runtime/commit/58a829968e8d2624cbcb4e2ce7f1bb01cb9f652b)
Diff | [Diff](https://github.com/dotnet/runtime/compare/76c60b960a2daa412c44a5061abf66f3286f6a92...58a829968e8d2624cbcb4e2ce7f1bb01cb9f652b)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark

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

  • [CreateInstance_5 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 513.11 ns | 475.43 ns | 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark*'
```

### Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.CreateInstance_5

#### 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 mentioned in src/benchmarks/micro/runtime/System.Reflection/Invoke.cs#L330-L337 and src/benchmarks/micro/libraries/System.Collections/Create/CtorDefaultSize.cs#L24-L25, then run the provided benchmarks_ci.py filters. Compare the linked reports and determine whether the arm64 improvements require follow-up in dotnet/runtime; done means the result is reproduced and the appropriate follow-up or no-action conclusion is documented.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.