dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x86: 87 Regressions on 5/19/2026 5:33:16 PM +00:00

Open
#73,518 6 comments 0 reactions 0 assignees View on GitHub
arch-x86 bdn-update branch-refs/heads/main compilationmode-tiered kind-micro os-windows oversized-issue perf-regression runkind-micro runtime-coreclr 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 | [21d1570e075a895f62c292a5e1854947b97c7dbc](https://github.com/dotnet/runtime/commit/21d1570e075a895f62c292a5e1854947b97c7dbc)
Compare | [f397c835cc1c655505d2a22fd0cebb9e96733d0b](https://github.com/dotnet/runtime/commit/f397c835cc1c655505d2a22fd0cebb9e96733d0b)
Diff | [Diff](https://github.com/dotnet/runtime/compare/21d1570e075a895f62c292a5e1854947b97c7dbc...f397c835cc1c655505d2a22fd0cebb9e96733d0b)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Collections.CtorGivenSize<Int32>

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

  • [OrderedDictionary - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 278.46 ns | 327.40 ns | 1.18 | 0.04 | False | | |
|
  • [Dictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 278.04 ns | 326.48 ns | 1.17 | 0.01 | False | | |
|
  • [HashSet - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 226.12 ns | 264.98 ns | 1.17 | 0.03 | False | | |
|
  • [SortedList - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 114.63 ns | 132.44 ns | 1.16 | 0.01 | False | | |
|
  • [List - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 58.65 ns | 67.68 ns | 1.15 | 0.01 | False | | |
|
  • [Stack - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 58.75 ns | 67.69 ns | 1.15 | 0.03 | False | | |
|
  • [Array - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 49.18 ns | 53.79 ns | 1.09 | 0.03 | False | | |
|
  • [ConcurrentDictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 90.50 ns | 98.05 ns | 1.08 | 0.06 | False | | |

![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.Collections.CtorGivenSize*'
```

### System.Collections.CtorGivenSize<Int32>.OrderedDictionary(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSize<Int32>.Dictionary(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSize<Int32>.HashSet(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSize<Int32>.SortedList(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSize<Int32>.List(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSize<Int32>.Stack(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSize<Int32>.Array(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSize<Int32>.ConcurrentDictionary(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 | x86
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [286dc1501f7bc16b2b170ec68d70bb755476d4ea](https://github.com/dotnet/runtime/commit/286dc1501f7bc16b2b170ec68d70bb755476d4ea)
Compare | [f397c835cc1c655505d2a22fd0cebb9e96733d0b](https://github.com/dotnet/runtime/commit/f397c835cc1c655505d2a22fd0cebb9e96733d0b)
Diff | [Diff](https://github.com/dotnet/runtime/compare/286dc1501f7bc16b2b170ec68d70bb755476d4ea...f397c835cc1c655505d2a22fd0cebb9e96733d0b)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Collections.CtorGivenSize<String>

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

  • [Queue - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 61.56 ns | 71.01 ns | 1.15 | 0.02 | False | | |
|
  • [SortedList - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 121.47 ns | 139.91 ns | 1.15 | 0.03 | False | | |
|
  • [OrderedDictionary - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 303.12 ns | 348.73 ns | 1.15 | 0.02 | False | | |
|
  • [Stack - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 60.68 ns | 69.78 ns | 1.15 | 0.02 | False | | |
|
  • [HashSet - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 243.13 ns | 279.02 ns | 1.15 | 0.01 | False | | |
|
  • [Dictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 306.79 ns | 350.14 ns | 1.14 | 0.02 | False | | |
|
  • [ConcurrentDictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 95.84 ns | 105.28 ns | 1.10 | 0.04 | 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.Collections.CtorGivenSize*'
```

### System.Collections.CtorGivenSize<String>.Queue(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSize<String>.SortedList(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSize<String>.OrderedDictionary(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSize<String>.Stack(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSize<String>.HashSet(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSize<String>.Dictionary(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSize<String>.ConcurrentDictionary(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)

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.