dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/arm64: 2 Improvements on 7/21/2026 10:38:26 AM +00:00

Open
#76,735 0 comments 0 reactions 0 assignees View on GitHub
ampere 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 | ubuntu 22.04
Queue | AmpereUbuntu
Baseline | [c39c3f371a1542dc1442a244bba117fb4e762299](https://github.com/dotnet/runtime/commit/c39c3f371a1542dc1442a244bba117fb4e762299)
Compare | [df8fb5a9d9b7f38bab55d67bf8b25e442b77169c](https://github.com/dotnet/runtime/commit/df8fb5a9d9b7f38bab55d67bf8b25e442b77169c)
Diff | [Diff](https://github.com/dotnet/runtime/compare/c39c3f371a1542dc1442a244bba117fb4e762299...df8fb5a9d9b7f38bab55d67bf8b25e442b77169c)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in Microsoft.AspNetCore.Server.Kestrel.Performance.PipeThroughputBenchmark

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

  • [Parse_SequentialAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 510.97 ns | 280.29 ns | 0.55 | 0.47 | False | | |
|
  • [Parse_SequentialAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 506.97 ns | 278.62 ns | 0.55 | 0.48 | 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.AspNetCore.Server.Kestrel.Performance.PipeThroughputBenchmark*'
```

### Microsoft.AspNetCore.Server.Kestrel.Performance.PipeThroughputBenchmark.Parse_SequentialAsync(Length: 128, Chunks: 16)

#### ETL Files

#### Histogram

#### JIT Disasms

### Microsoft.AspNetCore.Server.Kestrel.Performance.PipeThroughputBenchmark.Parse_SequentialAsync(Length: 4096, Chunks: 16)

#### 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 at src/benchmarks/micro/libraries/System.IO.Pipelines/PipeThroughputBenchmark.cs, especially lines 86-105, and review the linked test reports for the two Parse_SequentialAsync cases. Run the provided benchmarks_ci.py command to reproduce the ARM64 results. Done requires identifying and validating the cause of the reported performance change, but the issue does not define a requested fix.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, linux, python
Domain
backend, operating-systems, performance, testing-qa
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.