dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x86: 21 Regressions on 3/20/2026 10:13:11 PM +00:00

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

### Regressions in System.Collections.Perf_Frozen<Int16>

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

  • [ToFrozenSet - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.34 μs | 3.89 μs | 1.66 | 0.02 | False | | |
|
  • [ToFrozenSet - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.02 μs | 38.42 μs | 1.83 | 0.02 | False | | |
|
  • [ToFrozenDictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 19.37 μs | 36.82 μs | 1.90 | 0.04 | False | | |
|
  • [ToFrozenDictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.14 μs | 3.66 μs | 1.71 | 0.04 | 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.Collections.Perf_Frozen*'
```

### System.Collections.Perf_Frozen<Int16>.ToFrozenSet(Count: 64)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.Perf_Frozen<Int16>.ToFrozenSet(Count: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.Perf_Frozen<Int16>.ToFrozenDictionary(Count: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.Perf_Frozen<Int16>.ToFrozenDictionary(Count: 64)

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

### Regressions in System.Collections.Perf_Frozen<NotKnownComparable>

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

  • [ToFrozenDictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.28 μs | 38.73 μs | 1.82 | 0.03 | False | | |
|
  • [ToFrozenDictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.36 μs | 3.90 μs | 1.65 | 0.01 | False | | |
|
  • [ToFrozenSet - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.16 μs | 4.68 μs | 1.48 | 0.01 | False | | |
|
  • [ToFrozenSet - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 27.61 μs | 44.70 μs | 1.62 | 0.04 | 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.Collections.Perf_Frozen*'
```

### System.Collections.Perf_Frozen<NotKnownComparable>.ToFrozenDictionary(Count: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.Perf_Frozen<NotKnownComparable>.ToFrozenDictionary(Count: 64)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.Perf_Frozen<NotKnownComparable>.ToFrozenSet(Count: 64)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.Perf_Frozen<NotKnownComparable>.ToFrozenSet(Count: 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 | [43502e55deaed0a3a9913c10c791ab60c3bc30ee](https://github.com/dotnet/runtime/commit/43502e55deaed0a3a9913c10c791ab60c3bc30ee)
Compare | [ea02e22518b0d35a8e649885042bb962435a44fd](https://github.com/dotnet/runtime/commit/ea02e22518b0d35a8e649885042bb962435a44fd)
Diff | [Diff](https://github.com/dotnet/runtime/compare/43502e55deaed0a3a9913c10c791ab60c3bc30ee...ea02e22518b0d35a8e649885042bb962435a44fd)
Configs | CompilationMode:tiered, RunKind:micro

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

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

  • [FrozenDictionaryOptimized - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 34.38 μs | 53.59 μs | 1.56 | 0.05 | False | | |
|
  • [FrozenSet - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 37.05 μs | 56.36 μs | 1.52 | 0.02 | False | | |

![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<String>.FrozenDictionaryOptimized(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorFromCollection<String>.FrozenSet(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 | [4e5411701cf6c75ae461f67934493b3a27121047](https://github.com/dotnet/runtime/commit/4e5411701cf6c75ae461f67934493b3a27121047)
Compare | [ea02e22518b0d35a8e649885042bb962435a44fd](https://github.com/dotnet/runtime/commit/ea02e22518b0d35a8e649885042bb962435a44fd)
Diff | [Diff](https://github.com/dotnet/runtime/compare/4e5411701cf6c75ae461f67934493b3a27121047...ea02e22518b0d35a8e649885042bb962435a44fd)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Collections.Perf_Frozen<ReferenceType>

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

  • [ToFrozenSet - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.36 μs | 4.93 μs | 1.47 | 0.02 | False | | |
|
  • [ToFrozenSet - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 28.79 μs | 46.49 μs | 1.61 | 0.04 | False | | |
|
  • [ToFrozenDictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 26.63 μs | 43.60 μs | 1.64 | 0.08 | False | | |
|
  • [ToFrozenDictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.08 μs | 4.63 μs | 1.50 | 0.05 | 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.Collections.Perf_Frozen*'
```

### System.Collections.Perf_Frozen<ReferenceType>.ToFrozenSet(Count: 64)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.Perf_Frozen<ReferenceType>.ToFrozenSet(Count: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.Perf_Frozen<ReferenceType>.ToFrozenDictionary(Count: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.Perf_Frozen<ReferenceType>.ToFrozenDictionary(Count: 64)

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

### Regressions in System.Collections.Perf_SubstringFrozenDictionary

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

  • [ToFrozenDictionary - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 59.20 μs | 66.30 μs | 1.12 | 0.12 | False | | |
|
  • [ToFrozenDictionary - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 7.47 μs | 9.33 μs | 1.25 | 0.04 | False | | |

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

### System.Collections.Perf_SubstringFrozenDictionary.ToFrozenDictionary(Count: 1000)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.Perf_SubstringFrozenDictionary.ToFrozenDictionary(Count: 100)

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

### Regressions in System.Collections.Perf_DefaultFrozenDictionary

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

  • [ToFrozenDictionary - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 49.26 μs | 54.22 μs | 1.10 | 0.19 | False | | |
|
  • [ToFrozenDictionary - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 7.88 μs | 11.67 μs | 1.48 | 0.03 | False | | |

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

### System.Collections.Perf_DefaultFrozenDictionary.ToFrozenDictionary(Count: 1000)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.Perf_DefaultFrozenDictionary.ToFrozenDictionary(Count: 100)

#### 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 | [4e5411701cf6c75ae461f67934493b3a27121047](https://github.com/dotnet/runtime/commit/4e5411701cf6c75ae461f67934493b3a27121047)
Compare | [ea02e22518b0d35a8e649885042bb962435a44fd](https://github.com/dotnet/runtime/commit/ea02e22518b0d35a8e649885042bb962435a44fd)
Diff | [Diff](https://github.com/dotnet/runtime/compare/4e5411701cf6c75ae461f67934493b3a27121047...ea02e22518b0d35a8e649885042bb962435a44fd)
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
-- | -- | -- | -- | -- | -- | -- | -- | --
|

  • [FrozenDictionaryOptimized - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 15.58 μs | 29.92 μs | 1.92 | 0.02 | False | | |
|
  • [FrozenSet - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.19 μs | 42.01 μs | 1.98 | 0.03 | False | | |

![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>.FrozenDictionaryOptimized(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.CtorFromCollection<Int32>.FrozenSet(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 | [4e5411701cf6c75ae461f67934493b3a27121047](https://github.com/dotnet/runtime/commit/4e5411701cf6c75ae461f67934493b3a27121047)
Compare | [ea02e22518b0d35a8e649885042bb962435a44fd](https://github.com/dotnet/runtime/commit/ea02e22518b0d35a8e649885042bb962435a44fd)
Diff | [Diff](https://github.com/dotnet/runtime/compare/4e5411701cf6c75ae461f67934493b3a27121047...ea02e22518b0d35a8e649885042bb962435a44fd)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Collections.Perf_SingleCharFrozenDictionary

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

  • [ToFrozenDictionary - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 4.65 μs | 5.25 μs | 1.13 | 0.18 | 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.Collections.Perf_SingleCharFrozenDictionary*'
```

### System.Collections.Perf_SingleCharFrozenDictionary.ToFrozenDictionary(Count: 100)

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