dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/arm64: 14 Improvements on 5/21/2026 7:40:06 PM +00:00

Open
#73,812 1 comment 0 reactions 0 assignees View on GitHub
arch-arm64 branch-refs/heads/main compilationmode-tiered kind-micro 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 | [d7173ab6468b74a9480269684ded68205c208897](https://github.com/dotnet/runtime/commit/d7173ab6468b74a9480269684ded68205c208897)
Compare | [41bb922718740abce190a20adff49b634f408caf](https://github.com/dotnet/runtime/commit/41bb922718740abce190a20adff49b634f408caf)
Diff | [Diff](https://github.com/dotnet/runtime/compare/d7173ab6468b74a9480269684ded68205c208897...41bb922718740abce190a20adff49b634f408caf)
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
-- | -- | -- | -- | -- | -- | -- | -- | --
|

  • [Ctor0_NoParams_Reinvoke - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 94.50 ns | 54.58 ns | 0.58 | 0.21 | False | | |
|
  • [Field_SetStatic_class - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 33.72 ns | 23.04 ns | 0.68 | 0.40 | False | | |
|
  • [Field_Set_struct - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 62.85 ns | 52.79 ns | 0.84 | 0.18 | False | | |
|
  • [Property_Get_int - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 19.52 ns | 16.75 ns | 0.86 | 0.15 | False | | |
|
  • [Field_Set_int - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 16.55 ns | 14.35 ns | 0.87 | 0.18 | False | | |
|
  • [Field_GetStatic_struct - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 16.49 ns | 14.35 ns | 0.87 | 0.25 | False | | |
|
  • [Field_Get_struct - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 17.84 ns | 15.53 ns | 0.87 | 0.16 | False | | |
|
  • [Property_Set_int - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 23.32 ns | 20.38 ns | 0.87 | 0.14 | False | | |
|
  • [Field_GetStatic_int - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 16.38 ns | 14.45 ns | 0.88 | 0.17 | False | | |
|
  • [Ctor0_NoParams - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 16.51 ns | 14.56 ns | 0.88 | 0.17 | False | | |
|
  • [StaticMethod4_arrayNotCached_int_string_struct_class - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 68.04 ns | 61.21 ns | 0.90 | 0.15 | False | | |
|
  • [StaticMethod5_arrayNotCached_int_string_struct_class_bool - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 113.60 ns | 103.36 ns | 0.91 | 0.17 | False | | |
|
  • [Field_Set_class - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 27.17 ns | 24.74 ns | 0.91 | 0.32 | False | | |
|
  • [Ctor4_int_string_struct_class_ConstructorInvoker - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 28.14 ns | 26.02 ns | 0.92 | 0.12 | False | | |

![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![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.Reflection.Invoke*'
```

### System.Reflection.Invoke.Ctor0_NoParams_Reinvoke

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Invoke.Field_SetStatic_class

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Invoke.Field_Set_struct

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Invoke.Property_Get_int

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Invoke.Field_Set_int

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Invoke.Field_GetStatic_struct

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Invoke.Field_Get_struct

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Invoke.Property_Set_int

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Invoke.Field_GetStatic_int

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Invoke.Ctor0_NoParams

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Invoke.StaticMethod4_arrayNotCached_int_string_struct_class

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Invoke.StaticMethod5_arrayNotCached_int_string_struct_class_bool

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Invoke.Field_Set_class

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Invoke.Ctor4_int_string_struct_class_ConstructorInvoker

#### 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

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.