dotnet / dotnet/perf-autofiling-issues
[Perf] Linux/arm64: 30 Improvements on 8/28/2026 11:31:31 PM +00:00
- 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 | [100da3f94464f99616ee4a401670bec491ebc787](https://github.com/dotnet/runtime/commit/100da3f94464f99616ee4a401670bec491ebc787)
Compare | [aa036afce592ad80e938a35bd376222fb232cba9](https://github.com/dotnet/runtime/commit/aa036afce592ad80e938a35bd376222fb232cba9)
Diff | [Diff](https://github.com/dotnet/runtime/compare/100da3f94464f99616ee4a401670bec491ebc787...aa036afce592ad80e938a35bd376222fb232cba9)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro
### Improvements 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]()
|
- [ReadAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadAsync_NoBuffering - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadAsync_NoBuffering - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadAsync_NoBuffering - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadAsync_NoBuffering - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [WriteAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [WriteAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.Perf_FileStream*'
```
### System.IO.Tests.Perf_FileStream.ReadAsync(fileSize: 1048576, userBufferSize: 4096, options: Asynchronous)
#### ETL Files
#### Histogram
#### JIT Disasms
### 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: 512, 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_NoBuffering(fileSize: 104857600, userBufferSize: 16384, options: Asynchronous)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_FileStream.ReadAsync(fileSize: 1024, userBufferSize: 1024, options: None)
#### 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.ReadAsync(fileSize: 1024, userBufferSize: 1024, 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.ReadAsync(fileSize: 104857600, userBufferSize: 4096, options: Asynchronous)
#### 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.WriteAsync(fileSize: 104857600, userBufferSize: 4096, options: None)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_FileStream.WriteAsync(fileSize: 104857600, userBufferSize: 4096, options: Asynchronous)
#### 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 | azurelinux 3.0
Queue | CobaltAzureLinux
Baseline | [100da3f94464f99616ee4a401670bec491ebc787](https://github.com/dotnet/runtime/commit/100da3f94464f99616ee4a401670bec491ebc787)
Compare | [aa036afce592ad80e938a35bd376222fb232cba9](https://github.com/dotnet/runtime/commit/aa036afce592ad80e938a35bd376222fb232cba9)
Diff | [Diff](https://github.com/dotnet/runtime/compare/100da3f94464f99616ee4a401670bec491ebc787...aa036afce592ad80e938a35bd376222fb232cba9)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro
### Improvements in System.IO.Tests.Perf_File
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [ReadAllBytesAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadAllBytesAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadAllBytesAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [WriteAllTextAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config 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.IO.Tests.Perf_File*'
```
### System.IO.Tests.Perf_File.ReadAllBytesAsync(size: 512)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_File.ReadAllBytesAsync(size: 4096)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_File.ReadAllBytesAsync(size: 16384)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_File.WriteAllTextAsync(size: 10000)
#### 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 | azurelinux 3.0
Queue | CobaltAzureLinux
Baseline | [100da3f94464f99616ee4a401670bec491ebc787](https://github.com/dotnet/runtime/commit/100da3f94464f99616ee4a401670bec491ebc787)
Compare | [aa036afce592ad80e938a35bd376222fb232cba9](https://github.com/dotnet/runtime/commit/aa036afce592ad80e938a35bd376222fb232cba9)
Diff | [Diff](https://github.com/dotnet/runtime/compare/100da3f94464f99616ee4a401670bec491ebc787...aa036afce592ad80e938a35bd376222fb232cba9)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro
### Improvements in System.Buffers.Tests.RentReturnArrayPoolTests<Byte>
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [ProducerConsumer - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ProducerConsumer - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [SingleSerial - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [SingleSerial - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config 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.Buffers.Tests.RentReturnArrayPoolTests*'
```
### System.Buffers.Tests.RentReturnArrayPoolTests<Byte>.ProducerConsumer(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: True)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Buffers.Tests.RentReturnArrayPoolTests<Byte>.ProducerConsumer(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: False)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Buffers.Tests.RentReturnArrayPoolTests<Byte>.SingleSerial(RentalSize: 4096, ManipulateArray: True, Async: True, UseSharedPool: True)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Buffers.Tests.RentReturnArrayPoolTests<Byte>.SingleSerial(RentalSize: 4096, ManipulateArray: True, Async: True, UseSharedPool: False)
#### 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 | azurelinux 3.0
Queue | CobaltAzureLinux
Baseline | [100da3f94464f99616ee4a401670bec491ebc787](https://github.com/dotnet/runtime/commit/100da3f94464f99616ee4a401670bec491ebc787)
Compare | [aa036afce592ad80e938a35bd376222fb232cba9](https://github.com/dotnet/runtime/commit/aa036afce592ad80e938a35bd376222fb232cba9)
Diff | [Diff](https://github.com/dotnet/runtime/compare/100da3f94464f99616ee4a401670bec491ebc787...aa036afce592ad80e938a35bd376222fb232cba9)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro
### Improvements in System.Buffers.Tests.RentReturnArrayPoolTests<Object>
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [SingleSerial - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [SingleSerial - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config 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.Buffers.Tests.RentReturnArrayPoolTests*'
```
### System.Buffers.Tests.RentReturnArrayPoolTests<Object>.SingleSerial(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: True)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Buffers.Tests.RentReturnArrayPoolTests<Object>.SingleSerial(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: False)
#### 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 | azurelinux 3.0
Queue | CobaltAzureLinux
Baseline | [100da3f94464f99616ee4a401670bec491ebc787](https://github.com/dotnet/runtime/commit/100da3f94464f99616ee4a401670bec491ebc787)
Compare | [aa036afce592ad80e938a35bd376222fb232cba9](https://github.com/dotnet/runtime/commit/aa036afce592ad80e938a35bd376222fb232cba9)
Diff | [Diff](https://github.com/dotnet/runtime/compare/100da3f94464f99616ee4a401670bec491ebc787...aa036afce592ad80e938a35bd376222fb232cba9)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro
### Improvements in System.IO.Pipes.Tests.Perf_AnonymousPipeStream
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [ReadWriteAsync - Duration of single invocation]()
- [ADX - Test Multi Config 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.IO.Pipes.Tests.Perf_AnonymousPipeStream*'
```
### System.IO.Pipes.Tests.Perf_AnonymousPipeStream.ReadWriteAsync(size: 1000000)
#### 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 | azurelinux 3.0
Queue | CobaltAzureLinux
Baseline | [100da3f94464f99616ee4a401670bec491ebc787](https://github.com/dotnet/runtime/commit/100da3f94464f99616ee4a401670bec491ebc787)
Compare | [aa036afce592ad80e938a35bd376222fb232cba9](https://github.com/dotnet/runtime/commit/aa036afce592ad80e938a35bd376222fb232cba9)
Diff | [Diff](https://github.com/dotnet/runtime/compare/100da3f94464f99616ee4a401670bec491ebc787...aa036afce592ad80e938a35bd376222fb232cba9)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro
### Improvements in System.Threading.Tasks.ValueTaskPerfTest
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [CreateAndAwait_FromYieldingAsyncMethod - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config 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.Threading.Tasks.ValueTaskPerfTest*'
```
### System.Threading.Tasks.ValueTaskPerfTest.CreateAndAwait_FromYieldingAsyncMethod
#### 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 | azurelinux 3.0
Queue | CobaltAzureLinux
Baseline | [100da3f94464f99616ee4a401670bec491ebc787](https://github.com/dotnet/runtime/commit/100da3f94464f99616ee4a401670bec491ebc787)
Compare | [aa036afce592ad80e938a35bd376222fb232cba9](https://github.com/dotnet/runtime/commit/aa036afce592ad80e938a35bd376222fb232cba9)
Diff | [Diff](https://github.com/dotnet/runtime/compare/100da3f94464f99616ee4a401670bec491ebc787...aa036afce592ad80e938a35bd376222fb232cba9)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro
### Improvements in System.Threading.Channels.Tests.UnboundedChannelPerfTests
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [PingPong - Duration of single invocation]()
- [ADX - Test Multi Config 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.Threading.Channels.Tests.UnboundedChannelPerfTests*'
```
### System.Threading.Channels.Tests.UnboundedChannelPerfTests.PingPong
#### 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 | azurelinux 3.0
Queue | CobaltAzureLinux
Baseline | [100da3f94464f99616ee4a401670bec491ebc787](https://github.com/dotnet/runtime/commit/100da3f94464f99616ee4a401670bec491ebc787)
Compare | [aa036afce592ad80e938a35bd376222fb232cba9](https://github.com/dotnet/runtime/commit/aa036afce592ad80e938a35bd376222fb232cba9)
Diff | [Diff](https://github.com/dotnet/runtime/compare/100da3f94464f99616ee4a401670bec491ebc787...aa036afce592ad80e938a35bd376222fb232cba9)
Configs | CompilationMode:tiered, R2RType:r2r_interpreter, RunKind:micro
### Improvements in System.Threading.Channels.Tests.BoundedChannelPerfTests
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [PingPong - Duration of single invocation]()
- [ADX - Test Multi Config 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.Threading.Channels.Tests.BoundedChannelPerfTests*'
```
### System.Threading.Channels.Tests.BoundedChannelPerfTests.PingPong
#### 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 linked benchmark source, src/benchmarks/micro/libraries/System.IO.FileSystem/Perf.FileStream.cs lines 280-290, and review the baseline and comparison reports for the listed ReadAsync cases. Determine whether the arm64 Azure Linux improvements are expected and identify what follow-up the performance data requires; the issue is complete when the results have been validated and the required outcome is recorded.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100