dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x64: 11 Regressions on 3/9/2026 5:24:50 PM +00:00

Open
#70,148 1 comment 0 reactions 0 assignees View on GitHub
arch-x64 branch-refs/heads/main kind-micro os-windows perf-regression runtime-coreclr
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 | [f09bc75bec8a9de106d5766bc27ac35e5320569c](https://github.com/dotnet/runtime/commit/f09bc75bec8a9de106d5766bc27ac35e5320569c)
Compare | [e3b528cdef1842fc57d4a353ecfe4e34e13b7b4f](https://github.com/dotnet/runtime/commit/e3b528cdef1842fc57d4a353ecfe4e34e13b7b4f)
Diff | [Diff](https://github.com/dotnet/runtime/compare/f09bc75bec8a9de106d5766bc27ac35e5320569c...e3b528cdef1842fc57d4a353ecfe4e34e13b7b4f)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.IO.Tests.Perf_File

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

  • [ReadAllBytes - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 14.73 μs | 17.41 μs | 1.18 | 0.12 | False | | |
|
  • [ReadAllBytes - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 14.46 μs | 17.39 μs | 1.20 | 0.15 | False | | |
|
  • [ReadAllLines - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.57 μs | 24.13 μs | 1.12 | 0.12 | False | | |
|
  • [ReadAllBytes - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 14.02 μs | 17.10 μs | 1.22 | 0.16 | False | | |

![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.ReadAllBytes(size: 16384)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_File.ReadAllBytes(size: 4096)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_File.ReadAllLines

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.Perf_File.ReadAllBytes(size: 512)

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

### Regressions in System.IO.MemoryMappedFiles.Tests.Perf_MemoryMappedFile

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

  • [CreateFromFile_Read - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 20.55 μs | 22.13 μs | 1.08 | 0.20 | False | | |
|
  • [CreateFromFile_Read - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.50 μs | 24.03 μs | 1.12 | 0.17 | False | | |
|
  • [CreateFromFile - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 25.68 μs | 28.26 μs | 1.10 | 0.21 | False | | |
|
  • [CreateFromFile_Read - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.00 μs | 25.03 μs | 1.19 | 0.28 | False | | |
|
  • [CreateFromFile_Read - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 20.99 μs | 22.18 μs | 1.06 | 0.18 | False | | |
|
  • [CreateFromFile - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 25.01 μs | 28.19 μs | 1.13 | 0.28 | False | | |
|
  • [CreateFromFile - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 26.18 μs | 29.30 μs | 1.12 | 0.29 | False | | |

![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.MemoryMappedFiles.Tests.Perf_MemoryMappedFile*'
```

### System.IO.MemoryMappedFiles.Tests.Perf_MemoryMappedFile.CreateFromFile_Read(capacity: 10000)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.MemoryMappedFiles.Tests.Perf_MemoryMappedFile.CreateFromFile_Read(capacity: 1000000)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.MemoryMappedFiles.Tests.Perf_MemoryMappedFile.CreateFromFile(capacity: 10000)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.MemoryMappedFiles.Tests.Perf_MemoryMappedFile.CreateFromFile_Read(capacity: 10000000)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.MemoryMappedFiles.Tests.Perf_MemoryMappedFile.CreateFromFile_Read(capacity: 100000)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.MemoryMappedFiles.Tests.Perf_MemoryMappedFile.CreateFromFile(capacity: 100000)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.MemoryMappedFiles.Tests.Perf_MemoryMappedFile.CreateFromFile(capacity: 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)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the benchmark sources in src/benchmarks/micro/libraries/System.IO.FileSystem/Perf.File.cs and src/benchmarks/micro/libraries/System.IO.MemoryMappedFiles/Perf.MemoryMappedFile.cs, then run the provided benchmarks_ci.py command on Windows. Compare the baseline and regression reports to identify the cause; done means the reported performance regressions are explained and addressed or triaged.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, python
Domain
operating-systems, performance, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.