dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/arm64: 86 Regressions on 5/19/2026 5:33:16 PM +00:00

Open
#73,304 4 comments 0 reactions 0 assignees View on GitHub
ampere arch-arm64 bdn-update branch-refs/heads/main compilationmode-tiered kind-micro os-linux perf-regression runkind-micro runtime-coreclr
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 | [6481b41f3eb8fe7f796634ca2823c9bd62d0abbb](https://github.com/dotnet/runtime/commit/6481b41f3eb8fe7f796634ca2823c9bd62d0abbb)
Compare | [99f87de9b1deedd54f89389ffdbddaa709d5d18e](https://github.com/dotnet/runtime/commit/99f87de9b1deedd54f89389ffdbddaa709d5d18e)
Diff | [Diff](https://github.com/dotnet/runtime/compare/6481b41f3eb8fe7f796634ca2823c9bd62d0abbb...99f87de9b1deedd54f89389ffdbddaa709d5d18e)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.IO.Tests.Perf_FileStream

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

  • [ReadAsync - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 100.95 ms | 610.72 ms | 6.05 | 0.64 | False | | |
|
  • [ReadAsync - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.15 ms | 5.57 ms | 4.84 | 0.69 | False | | |
|
  • [ReadAsync - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.31 ms | 5.69 ms | 4.34 | 0.72 | False | | |
|
  • [FlushAsync - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 6.65 ms | 26.85 ms | 4.04 | 0.76 | False | | |
|
  • [ReadAsync - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 97.43 ms | 379.92 ms | 3.90 | 0.64 | False | | |
|
  • [FlushAsync - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 6.31 ms | 23.43 ms | 3.71 | 0.73 | False | | |
|
  • [ReadAsync - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.32 ms | 7.86 ms | 3.39 | 0.62 | False | | |
|
  • [ReadAsync_NoBuffering - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 556.63 ฮผs | 1559.82 ฮผs | 2.80 | 0.66 | False | | |
|
  • [ReadAsync_NoBuffering - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 50.81 ms | 134.53 ms | 2.65 | 0.55 | False | | |
|
  • [WriteAsync - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 361.20 ms | 949.77 ms | 2.63 | 0.69 | False | | |
|
  • [ReadAsync_NoBuffering - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 48.70 ms | 124.88 ms | 2.56 | 0.48 | False | | |
|
  • [WriteAsync - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 409.80 ms | 917.59 ms | 2.24 | 0.66 | False | | |
|
  • [ReadAsync - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.38 ms | 5.07 ms | 2.13 | 0.61 | False | | |
|
  • [AppendAsync - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.92 ms | 8.01 ms | 2.04 | 0.82 | False | | |
|
  • [ReadAsync_NoBuffering - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 673.88 ฮผs | 1363.60 ฮผs | 2.02 | 0.57 | False | | |
|
  • [WriteAsync - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.54 ms | 9.15 ms | 2.02 | 0.66 | False | | |
|
  • [WriteAsync - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.11 ms | 9.54 ms | 1.87 | 0.63 | False | | |
|
  • [WriteAsync - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.78 ms | 9.94 ms | 1.72 | 0.66 | False | | |
|
  • [WriteAsync - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.21 ms | 8.93 ms | 1.71 | 0.59 | False | | |
|
  • [WriteAsync_NoBuffering_PreallocationSize - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 176.90 ms | 291.52 ms | 1.65 | 0.71 | False | | |
|
  • [WriteAsync_NoBuffering_PreallocationSize - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 2.20 ms | 3.29 ms | 1.49 | 0.74 | False | | |
|
  • [WriteAsync_NoBuffering - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 242.54 ms | 342.50 ms | 1.41 | 0.49 | False | | |
|
  • [WriteAsync_NoBuffering - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 246.28 ms | 345.92 ms | 1.40 | 0.44 | False | | |

![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![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.IO.Tests.Perf_FileStream*'
```

### System.IO.Tests.Perf_FileStream.ReadAsync(fileSize: 104857600, userBufferSize: 4096, options: None)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.ReadAsync(fileSize: 1048576, userBufferSize: 4096, options: None)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.ReadAsync(fileSize: 1048576, userBufferSize: 4096, options: Asynchronous)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.FlushAsync(fileSize: 1024, options: Asynchronous)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.ReadAsync(fileSize: 104857600, userBufferSize: 4096, options: Asynchronous)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.FlushAsync(fileSize: 1024, options: None)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.ReadAsync(fileSize: 1048576, userBufferSize: 512, options: Asynchronous)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.ReadAsync_NoBuffering(fileSize: 1048576, userBufferSize: 16384, options: Asynchronous)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.ReadAsync_NoBuffering(fileSize: 104857600, userBufferSize: 16384, options: None)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.WriteAsync(fileSize: 104857600, userBufferSize: 4096, options: None)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.ReadAsync_NoBuffering(fileSize: 104857600, userBufferSize: 16384, options: Asynchronous)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.WriteAsync(fileSize: 104857600, userBufferSize: 4096, options: Asynchronous)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.ReadAsync(fileSize: 1048576, userBufferSize: 512, options: None)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.AppendAsync(fileSize: 1048576, userBufferSize: 4096, options: DeleteOnClose, Asynchronous)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.ReadAsync_NoBuffering(fileSize: 1048576, userBufferSize: 16384, options: None)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.WriteAsync(fileSize: 1048576, userBufferSize: 4096, options: Asynchronous)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.WriteAsync(fileSize: 1048576, userBufferSize: 512, options: None)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.WriteAsync(fileSize: 1048576, userBufferSize: 512, options: Asynchronous)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.WriteAsync(fileSize: 1048576, userBufferSize: 4096, options: None)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.WriteAsync_NoBuffering_PreallocationSize(fileSize: 104857600, userBufferSize: 16384, options: Asynchronous)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.WriteAsync_NoBuffering_PreallocationSize(fileSize: 1048576, userBufferSize: 16384, options: Asynchronous)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.WriteAsync_NoBuffering(fileSize: 104857600, userBufferSize: 16384, options: Asynchronous)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_FileStream.WriteAsync_NoBuffering(fileSize: 104857600, userBufferSize: 16384, options: None)

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