dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/arm64: 160 Improvements on 1/22/2026 7:11:59 AM +00:00

Open
#68,199 6 comments 0 reactions 0 assignees View on GitHub
ampere arch-arm64 branch-refs/heads/main kind-micro os-linux perf-improvement 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 | [b1d2e4aa8af89cfa795015e30ef70d24ec92f67f](https://github.com/dotnet/runtime/commit/b1d2e4aa8af89cfa795015e30ef70d24ec92f67f)
Compare | [4b5d3143e711d0516698d81255cc0128810e4109](https://github.com/dotnet/runtime/commit/4b5d3143e711d0516698d81255cc0128810e4109)
Diff | [Diff](https://github.com/dotnet/runtime/compare/b1d2e4aa8af89cfa795015e30ef70d24ec92f67f...4b5d3143e711d0516698d81255cc0128810e4109)
Configs | CompilationMode:tiered, RunKind:micro

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

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

  • [Multiply - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.84 ns | 1.70 ns | 0.60 | 0.27 | False | | |
|
  • [ToByteArray - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 11.07 ns | 9.40 ns | 0.85 | 0.59 | False | | |
|
  • [Add - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.13 ns | 1.85 ns | 0.59 | 0.23 | False | | |
|
  • [ToByteArray - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 14.39 ns | 12.10 ns | 0.84 | 0.51 | False | | |
|
  • [Subtract - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.15 ns | 1.84 ns | 0.58 | 0.22 | False | | |
|
  • [Multiply - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.88 ns | 1.69 ns | 0.59 | 0.22 | False | | |
|
  • [GreatestCommonDivisor - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 32.46 ns | 30.40 ns | 0.94 | 0.01 | False | | |

![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.Numerics.Tests.Perf_BigInteger*'
```

### System.Numerics.Tests.Perf_BigInteger.Multiply(arguments: 16,8 bits)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.ToByteArray(numberString: 123)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.Add(arguments: 16,16 bits)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.ToByteArray(numberString: -2147483648)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.Subtract(arguments: 16,16 bits)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.Multiply(arguments: 16,16 bits)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.GreatestCommonDivisor(arguments: 16,16 bits)

#### 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 | ubuntu 22.04
Queue | AmpereUbuntu
Baseline | [b1d2e4aa8af89cfa795015e30ef70d24ec92f67f](https://github.com/dotnet/runtime/commit/b1d2e4aa8af89cfa795015e30ef70d24ec92f67f)
Compare | [4b5d3143e711d0516698d81255cc0128810e4109](https://github.com/dotnet/runtime/commit/4b5d3143e711d0516698d81255cc0128810e4109)
Diff | [Diff](https://github.com/dotnet/runtime/compare/b1d2e4aa8af89cfa795015e30ef70d24ec92f67f...4b5d3143e711d0516698d81255cc0128810e4109)
Configs | CompilationMode:tiered, 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]()
| 26.25 ns | 24.20 ns | 0.92 | 0.02 | False | | |
|
  • [IndexOfAny - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 26.83 ns | 25.07 ns | 0.93 | 0.02 | False | | |
|
  • [LastIndexOfAny - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 26.74 ns | 24.29 ns | 0.91 | 0.03 | False | | |
|
  • [Contains - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.18 ns | 2.18 ns | 0.68 | 0.24 | False | | |
|
  • [Contains - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.78 ns | 1.31 ns | 0.47 | 0.29 | False | | |
|
  • [IndexOfAnyExcept - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 28.22 ns | 24.98 ns | 0.89 | 0.01 | False | | |

![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.Buffers.Tests.SearchValuesCharTests*'
```

### System.Buffers.Tests.SearchValuesCharTests.LastIndexOfAnyExcept(Values: "abcdefABCDEF0123456789รœ")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.IndexOfAny(Values: "abcdefABCDEF0123456789รœ")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.LastIndexOfAny(Values: "abcdefABCDEF0123456789รœ")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.Contains(Values: "รŸรครถรผร„ร–รœ")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.Contains(Values: "abcdefABCDEF0123456789")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.IndexOfAnyExcept(Values: "abcdefABCDEF0123456789รœ")

#### 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 | ubuntu 22.04
Queue | AmpereUbuntu
Baseline | [b1d2e4aa8af89cfa795015e30ef70d24ec92f67f](https://github.com/dotnet/runtime/commit/b1d2e4aa8af89cfa795015e30ef70d24ec92f67f)
Compare | [4b5d3143e711d0516698d81255cc0128810e4109](https://github.com/dotnet/runtime/commit/4b5d3143e711d0516698d81255cc0128810e4109)
Diff | [Diff](https://github.com/dotnet/runtime/compare/b1d2e4aa8af89cfa795015e30ef70d24ec92f67f...4b5d3143e711d0516698d81255cc0128810e4109)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Tests.Perf_Char

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

  • [Char_ToUpper - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.51 ns | 1.44 ns | 0.41 | 0.27 | False | | |
|
  • [Char_ToUpper - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.36 ns | 1.43 ns | 0.43 | 0.20 | False | | |
|
  • [Char_ToLower - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.40 ns | 1.44 ns | 0.42 | 0.25 | False | | |
|
  • [Char_ToLower - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.39 ns | 1.44 ns | 0.42 | 0.26 | 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Char*'
```

### System.Tests.Perf_Char.Char_ToUpper(c: 'a', cultureName: en-US)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Char.Char_ToUpper(c: 'A', cultureName: en-US)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Char.Char_ToLower(c: 'A', cultureName: en-US)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Char.Char_ToLower(c: 'a', cultureName: en-US)

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