dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/arm64: 8 Improvements on 8/10/2026 5:40:28 AM +00:00

Open
#77,887 1 comment 0 reactions 0 assignees View on GitHub
ampere arch-arm64 branch-refs/heads/main compilationmode-tiered kind-micro Look Again 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 | [c668fd41fd95a3b52c783bfdc761604712010ba3](https://github.com/dotnet/runtime/commit/c668fd41fd95a3b52c783bfdc761604712010ba3)
Compare | [795badfa03d01074a359ce0b65da2213043ee78c](https://github.com/dotnet/runtime/commit/795badfa03d01074a359ce0b65da2213043ee78c)
Diff | [Diff](https://github.com/dotnet/runtime/compare/c668fd41fd95a3b52c783bfdc761604712010ba3...795badfa03d01074a359ce0b65da2213043ee78c)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Tests.Perf_Half

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

  • [SingleToHalf - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.04 ns | 2.34 ns | 0.58 | 0.11 | False | | |
|
  • [SingleToHalf - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.04 ns | 2.34 ns | 0.58 | 0.17 | False | | |
|
  • [SingleToHalf - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.04 ns | 2.34 ns | 0.58 | 0.16 | False | | |
|
  • [SingleToHalf - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.03 ns | 2.34 ns | 0.58 | 0.13 | False | | |
|
  • [HalfToSingle - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.48 ns | 2.29 ns | 0.66 | 0.14 | False | | |
|
  • [HalfToSingle - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.48 ns | 2.29 ns | 0.66 | 0.11 | False | | |
|
  • [HalfToSingle - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.48 ns | 2.31 ns | 0.66 | 0.14 | 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.Tests.Perf_Half*'
```

### System.Tests.Perf_Half.SingleToHalf(value: NaN)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Half.SingleToHalf(value: 6.097555E-05)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Half.SingleToHalf(value: 12345)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Half.SingleToHalf(value: 65520)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Half.HalfToSingle(value: 6.1E-05)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Half.HalfToSingle(value: NaN)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Half.HalfToSingle(value: 12344)

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

### Improvements in System.IO.Tests.BinaryWriterTests

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

  • [WriteHalf - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 10.32 ns | 4.64 ns | 0.45 | 0.02 | 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.BinaryWriterTests*'
```

### System.IO.Tests.BinaryWriterTests.WriteHalf

#### 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 source in performance/src/benchmarks/micro/libraries/System.Runtime/Perf.Half.cs at lines 35-41 and review the linked Test Report for the arm64 Ubuntu results. Run the documented benchmarks_ci.py command with the System.Tests.Perf_Half filter; done means determining whether the reported conversion timing change needs a runtime or benchmark follow-up.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, python
Domain
performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.