dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x86: 12 Regressions on 5/19/2026 10:41:37 PM +00:00

Open
#73,519 1 comment 0 reactions 0 assignees View on GitHub
arch-x86 bdn-update branch-refs/heads/main compilationmode-tiered kind-micro os-windows 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 | [286dc1501f7bc16b2b170ec68d70bb755476d4ea](https://github.com/dotnet/runtime/commit/286dc1501f7bc16b2b170ec68d70bb755476d4ea)
Compare | [99f87de9b1deedd54f89389ffdbddaa709d5d18e](https://github.com/dotnet/runtime/commit/99f87de9b1deedd54f89389ffdbddaa709d5d18e)
Diff | [Diff](https://github.com/dotnet/runtime/compare/286dc1501f7bc16b2b170ec68d70bb755476d4ea...99f87de9b1deedd54f89389ffdbddaa709d5d18e)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Collections.CtorGivenSizeNonGeneric

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

  • [Hashtable - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 254.41 ns | 299.10 ns | 1.18 | 0.01 | False | | |
|
  • [Stack - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 58.81 ns | 67.90 ns | 1.15 | 0.05 | False | | |
|
  • [ArrayList - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 59.39 ns | 68.22 ns | 1.15 | 0.02 | False | | |
|
  • [Queue - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 60.24 ns | 68.66 ns | 1.14 | 0.02 | False | | |
|
  • [SortedList - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 122.89 ns | 138.98 ns | 1.13 | 0.02 | False | | |

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

### System.Collections.CtorGivenSizeNonGeneric.Hashtable(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSizeNonGeneric.Stack(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSizeNonGeneric.ArrayList(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSizeNonGeneric.Queue(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorGivenSizeNonGeneric.SortedList(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 | [99f87de9b1deedd54f89389ffdbddaa709d5d18e](https://github.com/dotnet/runtime/commit/99f87de9b1deedd54f89389ffdbddaa709d5d18e)
Diff | [Diff](https://github.com/dotnet/runtime/compare/286dc1501f7bc16b2b170ec68d70bb755476d4ea...99f87de9b1deedd54f89389ffdbddaa709d5d18e)
Configs | CompilationMode:tiered, RunKind:micro

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

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]()
| 94.11 ns | 104.18 ns | 1.11 | 0.02 | False | | |
|
  • [Stack - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 93.24 ns | 102.54 ns | 1.10 | 0.02 | False | | |
|
  • [List - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 91.36 ns | 99.24 ns | 1.09 | 0.02 | False | | |

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

### System.Collections.CtorFromCollection<Int32>.Queue(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

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

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorFromCollection<Int32>.List(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 | [99f87de9b1deedd54f89389ffdbddaa709d5d18e](https://github.com/dotnet/runtime/commit/99f87de9b1deedd54f89389ffdbddaa709d5d18e)
Diff | [Diff](https://github.com/dotnet/runtime/compare/286dc1501f7bc16b2b170ec68d70bb755476d4ea...99f87de9b1deedd54f89389ffdbddaa709d5d18e)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Collections.Tests.Perf_BitArray

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

  • [BitArrayIntArrayCtor - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 91.31 ns | 99.55 ns | 1.09 | 0.01 | False | | |
|
  • [BitArraySetLengthGrow - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 77.49 ns | 83.36 ns | 1.08 | 0.02 | False | | |
|
  • [BitArraySetLengthShrink - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 31.51 ns | 33.32 ns | 1.06 | 0.03 | False | | |

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

### System.Collections.Tests.Perf_BitArray.BitArrayIntArrayCtor(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.Tests.Perf_BitArray.BitArraySetLengthGrow(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.Tests.Perf_BitArray.BitArraySetLengthShrink(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 | [99f87de9b1deedd54f89389ffdbddaa709d5d18e](https://github.com/dotnet/runtime/commit/99f87de9b1deedd54f89389ffdbddaa709d5d18e)
Diff | [Diff](https://github.com/dotnet/runtime/compare/286dc1501f7bc16b2b170ec68d70bb755476d4ea...99f87de9b1deedd54f89389ffdbddaa709d5d18e)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Threading.Channels.Tests.UnboundedChannelPerfTests

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

  • [WriteAsyncThenReadAsync - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 29.23 ns | 32.59 ns | 1.11 | 0.09 | False | | |

![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.WriteAsyncThenReadAsync

#### 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.