dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x86: 11 Improvements on 7/14/2026 2:58:00 AM +00:00

Open
#76,539 2 comments 0 reactions 0 assignees View on GitHub
arch-x86 bdn-update branch-refs/heads/main compilationmode-tiered kind-micro Look Again os-windows perf-improvement runkind-micro runtime-coreclr triage-error untriaged
Dominant language
No language data
Stars
10
Forks
8
PR merge metrics
PR metrics pending

Description

### Run Information

Name | Value
-- | --
Architecture | x86
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [a90733cc40d6c7037a37d9c2b5c2403b8cac490f](https://github.com/dotnet/runtime/commit/a90733cc40d6c7037a37d9c2b5c2403b8cac490f)
Compare | [ac220bb785a8db28a9a46517a648ad14f1d6e2f4](https://github.com/dotnet/runtime/commit/ac220bb785a8db28a9a46517a648ad14f1d6e2f4)
Diff | [Diff](https://github.com/dotnet/runtime/compare/a90733cc40d6c7037a37d9c2b5c2403b8cac490f...ac220bb785a8db28a9a46517a648ad14f1d6e2f4)
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
-- | -- | -- | -- | -- | -- | -- | -- | --
|

  • [WriteAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.65 ms | 1.08 ms | 0.30 | 0.66 | False | | |
|
  • [ReadAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 148.73 ms | 58.65 ms | 0.39 | 0.47 | False | | |
|
  • [WriteAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 160.07 ms | 73.19 ms | 0.46 | 0.38 | False | | |
|
  • [ReadAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 59.91 ms | 28.88 ms | 0.48 | 0.56 | False | | |
|
  • [ReadAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1561.21 μs | 864.29 μs | 0.55 | 0.72 | False | | |
|
  • [WriteAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 69.97 ms | 43.80 ms | 0.63 | 0.50 | False | | |
|
  • [ReadScatterAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 709.36 μs | 448.19 μs | 0.63 | 0.46 | False | | |
|
  • [WriteAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.42 ms | 2.90 ms | 0.66 | 0.58 | False | | |
|
  • [WriteGatherAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 53.60 ms | 42.06 ms | 0.78 | 0.51 | False | | |
|
  • [ReadScatterAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 72.98 ms | 61.11 ms | 0.84 | 0.37 | False | | |
|
  • [WriteGatherAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 84.59 ms | 76.88 ms | 0.91 | 0.56 | False | | |

![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.WriteAsync(fileSize: 1048576, bufferSize: 4096, 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.WriteAsync(fileSize: 104857600, bufferSize: 16384, options: Asynchronous)

#### 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: 1048576, bufferSize: 4096, options: None)

#### 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.ReadScatterAsync(fileSize: 1048576, buffersSize: 16384, options: None)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_RandomAccess.WriteAsync(fileSize: 1048576, bufferSize: 4096, options: Asynchronous)

#### 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.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 referenced benchmark source in dotnet/performance/src/benchmarks/micro/libraries/System.IO.FileSystem/Perf.RandomAccess.cs, especially the ReadAsync and WriteAsync sections at lines 110-145 and the ReadScatterAsync section at lines 193-211. Compare the listed Windows/x86 results with the linked history reports; done would require identifying a confirmed, actionable performance change, but this issue does not specify one.

Written by the indexing model from the issue text.

Assessment

Domain
performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.