dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/arm64: 9 Improvements on 4/12/2026 2:38:40 PM +00:00

Open
#71,813 0 comments 0 reactions 0 assignees View on GitHub
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 | azurelinux 3.0
Queue | CobaltAzureLinux
Baseline | [e583c98763e224e5d6587a9d8fc732a33b1d808b](https://github.com/dotnet/runtime/commit/e583c98763e224e5d6587a9d8fc732a33b1d808b)
Compare | [c2862f93479e76e0e5c43996836c4f067fdbae25](https://github.com/dotnet/runtime/commit/c2862f93479e76e0e5c43996836c4f067fdbae25)
Diff | [Diff](https://github.com/dotnet/runtime/compare/e583c98763e224e5d6587a9d8fc732a33b1d808b...c2862f93479e76e0e5c43996836c4f067fdbae25)
Configs | CompilationMode:tiered, RunKind:micro

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

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

  • [ReadReturnBytes - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 108.97 ns | 63.03 ns | 0.58 | 0.19 | False | | |
|
  • [ReadSingleSpanSequenceEmptyLoop - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.50 μs | 1.30 μs | 0.87 | 0.13 | False | | |
|
  • [ReadSpanEmptyLoop - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 703.79 ns | 622.40 ns | 0.88 | 0.26 | False | | |
|
  • [ReadSpanEmptyLoop - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 7.27 μs | 6.50 μs | 0.89 | 0.13 | False | | |
|
  • [ReadReturnBytes - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.67 μs | 2.40 μs | 0.90 | 0.13 | False | | |
|
  • [ReadReturnBytes - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.68 μs | 3.35 μs | 0.91 | 0.13 | False | | |
|
  • [ReadSingleSpanSequenceEmptyLoop - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 89.68 μs | 81.78 μs | 0.91 | 0.18 | False | | |
|
  • [ReadMultiSpanSequenceEmptyLoop - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 63.90 μs | 59.14 μs | 0.93 | 0.14 | False | | |
|
  • [ReadReturnBytes - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 9.18 μs | 8.62 μs | 0.94 | 0.13 | False | | |

![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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Reader*'
```

### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: HelloWorld)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: LotsOfStrings)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: Json400B)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: BroadTree)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: LotsOfStrings)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: DeepTree)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json40KB)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json40KB)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: Json4KB)

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