dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/arm64: 10 Improvements on 6/25/2026 2:29:55 AM +00:00

Open
#75,531 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 | [65b2508c9e09b7ab0dad595a06d583df7688a210](https://github.com/dotnet/runtime/commit/65b2508c9e09b7ab0dad595a06d583df7688a210)
Compare | [d6c7fb69f882c3ffd49de58dd009330e2a915402](https://github.com/dotnet/runtime/commit/d6c7fb69f882c3ffd49de58dd009330e2a915402)
Diff | [Diff](https://github.com/dotnet/runtime/compare/65b2508c9e09b7ab0dad595a06d583df7688a210...d6c7fb69f882c3ffd49de58dd009330e2a915402)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Text.Json.Tests.Perf_Strings

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

  • [WriteStringsUtf16 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 88.25 ms | 40.60 ms | 0.46 | 0.08 | False | | |
|
  • [WriteStringsUtf16 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 85.34 ms | 40.62 ms | 0.48 | 0.08 | False | | |
|
  • [WriteStringsUtf16 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 85.80 ms | 40.98 ms | 0.48 | 0.11 | False | | |
|
  • [WriteStringsUtf16 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 84.98 ms | 40.87 ms | 0.48 | 0.07 | False | | |
|
  • [WriteStringsUtf8 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 81.83 ms | 42.21 ms | 0.52 | 0.06 | False | | |
|
  • [WriteStringsUtf8 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 79.28 ms | 41.57 ms | 0.52 | 0.04 | False | | |
|
  • [WriteStringsUtf8 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 79.60 ms | 42.39 ms | 0.53 | 0.09 | False | | |
|
  • [WriteStringsUtf8 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 78.56 ms | 42.50 ms | 0.54 | 0.09 | False | | |
|
  • [WriteStringsUtf16 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.67 ms | 5.29 ms | 0.93 | 0.02 | False | | |
|
  • [WriteStringsUtf8 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 11.19 ms | 10.53 ms | 0.94 | 0.00 | False | | |

![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.Text.Json.Tests.Perf_Strings*'
```

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: False, Escaped: AllEscaped)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: True, Escaped: AllEscaped)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: False, Escaped: AllEscaped)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: True, Escaped: AllEscaped)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: True, Escaped: AllEscaped)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: False, Escaped: AllEscaped)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: False, Escaped: AllEscaped)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: True, Escaped: AllEscaped)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: False, Escaped: NoneEscaped)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: True, Escaped: OneEscaped)

#### 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 referenced benchmark source at src/benchmarks/micro/libraries/System.Text.Json/Utf8JsonWriter/Perf.Strings.cs, especially lines 82-116, and compare the baseline and test reports for the listed WriteStrings cases. Determine whether the reported ARM64 measurements identify an actionable runtime change; done requires a clearly scoped fix and benchmark validation.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.