dotnet / dotnet/perf-autofiling-issues
[Perf] Windows/x64: 68 Improvements on 7/13/2026 8:32:42 PM +00:00
- Dominant language
- No language data
- Stars
- 10
- Forks
- 8
- PR merge metrics
- PR metrics pending
Description
### Run Information
Name | Value
-- | --
Architecture | x64
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [8df98c4d2d17bcba98193afa9ae2e72908921f86](https://github.com/dotnet/runtime/commit/8df98c4d2d17bcba98193afa9ae2e72908921f86)
Compare | [f2b30309fd488f1c3fd41c18723a7c80a81f4c67](https://github.com/dotnet/runtime/commit/f2b30309fd488f1c3fd41c18723a7c80a81f4c67)
Diff | [Diff](https://github.com/dotnet/runtime/compare/8df98c4d2d17bcba98193afa9ae2e72908921f86...f2b30309fd488f1c3fd41c18723a7c80a81f4c67)
Configs | CompilationMode:tiered, 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_NoBuffering - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [FlushAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadAsync - 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]()
|
- [ReadAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [FlushAsync - 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_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]()
|
- [AppendAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [WriteAsync_NoBuffering_PreallocationSize - Duration of single invocation]()
- [ADX - Test Multi Config Graph]()
|
- [WriteAsync_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]()
|
- [WriteAsync_NoBuffering_PreallocationSize - Duration of single invocation]()
- [ADX - Test Multi Config Graph]()
|
- [WriteAsync_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]()
![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_NoBuffering(fileSize: 1048576, userBufferSize: 16384, 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.FlushAsync(fileSize: 1024, options: None)
#### 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.WriteAsync(fileSize: 1048576, userBufferSize: 4096, 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(fileSize: 1048576, userBufferSize: 4096, options: None)
#### 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_NoBuffering(fileSize: 104857600, userBufferSize: 16384, options: Asynchronous)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_FileStream.WriteAsync_NoBuffering(fileSize: 1048576, userBufferSize: 16384, 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.ReadAsync(fileSize: 1024, userBufferSize: 1024, options: Asynchronous)
#### 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.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.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_NoBuffering_PreallocationSize(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
### System.IO.Tests.Perf_FileStream.WriteAsync(fileSize: 1048576, userBufferSize: 4096, options: Asynchronous)
#### 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 | x64
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [a90733cc40d6c7037a37d9c2b5c2403b8cac490f](https://github.com/dotnet/runtime/commit/a90733cc40d6c7037a37d9c2b5c2403b8cac490f)
Compare | [f2b30309fd488f1c3fd41c18723a7c80a81f4c67](https://github.com/dotnet/runtime/commit/f2b30309fd488f1c3fd41c18723a7c80a81f4c67)
Diff | [Diff](https://github.com/dotnet/runtime/compare/a90733cc40d6c7037a37d9c2b5c2403b8cac490f...f2b30309fd488f1c3fd41c18723a7c80a81f4c67)
Configs | CompilationMode:tiered, RunKind:micro
### Improvements in System.IO.Tests.Perf_RandomAccess
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]()
|
- [WriteAsync - 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]()
|
- [ReadScatterAsync - 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]()
|
- [WriteGatherAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadScatterAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadScatterAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ReadScatterAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [WriteGatherAsync - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config 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_RandomAccess*'
```
### System.IO.Tests.Perf_RandomAccess.ReadAsync(fileSize: 1048576, bufferSize: 4096, options: None)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_RandomAccess.WriteAsync(fileSize: 1048576, bufferSize: 4096, options: None)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_RandomAccess.ReadAsync(fileSize: 104857600, bufferSize: 16384, options: None)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_RandomAccess.ReadAsync(fileSize: 104857600, bufferSize: 16384, options: Asynchronous)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_RandomAccess.ReadAsync(fileSize: 1048576, bufferSize: 4096, options: Asynchronous)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_RandomAccess.ReadScatterAsync(fileSize: 1048576, buffersSize: 16384, options: None)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_RandomAccess.WriteAsync(fileSize: 104857600, bufferSize: 16384, options: Asynchronous)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_RandomAccess.WriteAsync(fileSize: 104857600, bufferSize: 16384, options: None)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_RandomAccess.WriteGatherAsync(fileSize: 104857600, buffersSize: 65536, options: None)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_RandomAccess.ReadScatterAsync(fileSize: 104857600, buffersSize: 65536, options: Asynchronous)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_RandomAccess.ReadScatterAsync(fileSize: 1048576, buffersSize: 16384, options: Asynchronous)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_RandomAccess.ReadScatterAsync(fileSize: 104857600, buffersSize: 65536, options: None)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.IO.Tests.Perf_RandomAccess.WriteGatherAsync(fileSize: 104857600, buffersSize: 65536, 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)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the linked benchmark source in src/benchmarks/micro/libraries/System.IO.FileSystem/Perf.FileStream.cs and compare the baseline and test commits for the Windows x64 run. Reproduce the affected FileStream benchmarks if possible; the report does not define a code change or acceptance criterion, so completion would require triage to establish what action is wanted.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- performance
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100