dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/arm64: 330 Improvements on 5/20/2026 4:57:18 PM +00:00

Open
#73,795 12 comments 0 reactions 0 assignees View on GitHub
ampere arch-arm64 bdn-update 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 | ubuntu 22.04
Queue | AmpereUbuntu
Baseline | [99f87de9b1deedd54f89389ffdbddaa709d5d18e](https://github.com/dotnet/runtime/commit/99f87de9b1deedd54f89389ffdbddaa709d5d18e)
Compare | [fdea14daa5ed67788f0ea26d4395e2652cd1ce79](https://github.com/dotnet/runtime/commit/fdea14daa5ed67788f0ea26d4395e2652cd1ce79)
Diff | [Diff](https://github.com/dotnet/runtime/compare/99f87de9b1deedd54f89389ffdbddaa709d5d18e...fdea14daa5ed67788f0ea26d4395e2652cd1ce79)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Tests.Perf_Int32

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

  • [ParseHex - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 15.99 ns | 8.17 ns | 0.51 | 0.08 | False | | |
|
  • [TryParse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 16.97 ns | 9.06 ns | 0.53 | 0.08 | False | | |
|
  • [Parse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 16.91 ns | 9.09 ns | 0.54 | 0.06 | False | | |
|
  • [TryParseSpan - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 16.93 ns | 9.38 ns | 0.55 | 0.08 | False | | |
|
  • [ParseSpan - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 16.89 ns | 9.42 ns | 0.56 | 0.07 | False | | |
|
  • [Parse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.21 ns | 13.27 ns | 0.63 | 0.06 | False | | |
|
  • [TryParse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.18 ns | 13.30 ns | 0.63 | 0.05 | False | | |
|
  • [ParseSpan - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.18 ns | 13.44 ns | 0.63 | 0.06 | False | | |
|
  • [TryParseSpan - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.26 ns | 13.50 ns | 0.63 | 0.05 | False | | |
|
  • [TryFormat - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 25.74 ns | 17.33 ns | 0.67 | 0.04 | False | | |
|
  • [ToString - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 34.35 ns | 23.18 ns | 0.67 | 0.06 | False | | |
|
  • [Parse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 28.19 ns | 19.80 ns | 0.70 | 0.05 | False | | |
|
  • [ParseHex - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 30.00 ns | 21.11 ns | 0.70 | 0.03 | False | | |
|
  • [Parse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 28.32 ns | 20.01 ns | 0.71 | 0.03 | False | | |
|
  • [ParseSpan - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 28.22 ns | 19.95 ns | 0.71 | 0.03 | False | | |
|
  • [TryParse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 28.45 ns | 20.15 ns | 0.71 | 0.04 | False | | |
|
  • [ParseSpan - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 28.29 ns | 20.05 ns | 0.71 | 0.02 | False | | |
|
  • [TryParseSpan - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 28.40 ns | 20.17 ns | 0.71 | 0.05 | False | | |
|
  • [TryParse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 28.18 ns | 20.05 ns | 0.71 | 0.04 | False | | |
|
  • [TryParseSpan - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 28.17 ns | 20.12 ns | 0.71 | 0.03 | False | | |
|
  • [ToString - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 15.59 ns | 12.49 ns | 0.80 | 0.15 | False | | |
|
  • [ParseHex - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 47.69 ns | 38.63 ns | 0.81 | 0.03 | False | | |
|
  • [ParseHex - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 47.74 ns | 38.72 ns | 0.81 | 0.01 | False | | |
|
  • [ToStringHex - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 18.20 ns | 15.20 ns | 0.84 | 0.12 | False | | |
|
  • [ToStringHex - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.83 ns | 18.86 ns | 0.86 | 0.08 | False | | |
|
  • [ToStringHex - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 27.38 ns | 23.85 ns | 0.87 | 0.07 | False | | |
|
  • [ToStringHex - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 27.16 ns | 24.18 ns | 0.89 | 0.08 | False | | |

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

### System.Tests.Perf_Int32.ParseHex(value: "4")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryParse(value: "4")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.Parse(value: "4")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryParseSpan(value: "4")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ParseSpan(value: "4")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.Parse(value: "12345")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryParse(value: "12345")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ParseSpan(value: "12345")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryParseSpan(value: "12345")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryFormat(value: -2147483648)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ToString(value: -2147483648)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.Parse(value: "2147483647")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ParseHex(value: "3039")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.Parse(value: "-2147483648")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ParseSpan(value: "2147483647")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryParse(value: "-2147483648")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ParseSpan(value: "-2147483648")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryParseSpan(value: "-2147483648")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryParse(value: "2147483647")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.TryParseSpan(value: "2147483647")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ToString(value: 12345)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ParseHex(value: "7FFFFFFF")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ParseHex(value: "80000000")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ToStringHex(value: 4)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ToStringHex(value: 12345)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ToStringHex(value: 2147483647)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Int32.ToStringHex(value: -2147483648)

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