dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/arm64: 7 Regressions on 2/21/2026 2:04:37 AM +00:00

Open
#69,288 1 comment 0 reactions 0 assignees View on GitHub
ampere arch-arm64 branch-refs/heads/main kind-micro os-linux perf-regression 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 | [e7b2a9b920d1859f36ec6f18504e3ca7ece34e7c](https://github.com/dotnet/runtime/commit/e7b2a9b920d1859f36ec6f18504e3ca7ece34e7c)
Compare | [c5d5be4b636b5dad36edf8131a7ce1049488991c](https://github.com/dotnet/runtime/commit/c5d5be4b636b5dad36edf8131a7ce1049488991c)
Diff | [Diff](https://github.com/dotnet/runtime/compare/e7b2a9b920d1859f36ec6f18504e3ca7ece34e7c...c5d5be4b636b5dad36edf8131a7ce1049488991c)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Text.Json.Serialization.Tests.ReadJson<ArrayList>

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

  • [DeserializeFromUtf8Bytes - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 17.55 μs | 19.35 μs | 1.10 | 0.19 | False | | |
|
  • [DeserializeFromString - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 18.16 μs | 19.55 μs | 1.08 | 0.20 | 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 'System.Text.Json.Serialization.Tests.ReadJson*'
```

### System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromUtf8Bytes(Mode: SourceGen)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromString(Mode: Reflection)

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

### Regressions in System.IO.Tests.StringReaderReadToEndTests

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

  • [ReadToEndAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.02 ns | 24.23 ns | 1.15 | 0.68 | False | | |
|
  • [ReadToEndAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 18.51 ns | 24.29 ns | 1.31 | 0.70 | False | | |
|
  • [ReadToEndAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 18.15 ns | 26.18 ns | 1.44 | 0.65 | False | | |
|
  • [ReadToEndAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.15 ns | 24.39 ns | 1.15 | 0.68 | False | | |
|
  • [ReadToEnd - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 8.66 ns | 10.14 ns | 1.17 | 0.68 | False | | |

![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.IO.Tests.StringReaderReadToEndTests*'
```

### System.IO.Tests.StringReaderReadToEndTests.ReadToEndAsync(LineLengthRange: [ 1, 8])

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.StringReaderReadToEndTests.ReadToEndAsync(LineLengthRange: [ 129, 1024])

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.StringReaderReadToEndTests.ReadToEndAsync(LineLengthRange: [1025, 2048])

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.StringReaderReadToEndTests.ReadToEndAsync(LineLengthRange: [ 1, 1])

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.StringReaderReadToEndTests.ReadToEnd(LineLengthRange: [ 0, 1024])

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