dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x64: 12 Regressions on 9/11/2026 9:48:28 PM +00:00

Open
#79,375 1 comment 0 reactions 0 assignees View on GitHub
arch-x64 branch-refs/heads/main compilationmode-tiered kind-micro Noise os-windows perf-regression PGO 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 | x64
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [de29e26a4f69da5d446900a6ba9d68ba3ddc5ba9](https://github.com/dotnet/runtime/commit/de29e26a4f69da5d446900a6ba9d68ba3ddc5ba9)
Compare | [0fd08c887c1317055025965cbe829b732fbe942d](https://github.com/dotnet/runtime/commit/0fd08c887c1317055025965cbe829b732fbe942d)
Diff | [Diff](https://github.com/dotnet/runtime/compare/de29e26a4f69da5d446900a6ba9d68ba3ddc5ba9...0fd08c887c1317055025965cbe829b732fbe942d)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Diagnostics.Perf_Process

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

  • [ReadOutputLineByLine - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 51.31 ms | 56.62 ms | 1.10 | 0.12 | False | | |
|
  • [ReadOutputToEnd - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 51.51 ms | 56.80 ms | 1.10 | 0.15 | 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.Diagnostics.Perf_Process*'
```

### System.Diagnostics.Perf_Process.ReadOutputLineByLine

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Diagnostics.Perf_Process.ReadOutputToEnd

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

### Regressions in System.Text.Perf_Utf8Encoding

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

  • [GetStringFromBytes - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 134.98 μs | 194.95 μs | 1.44 | 0.20 | False | | |
|
  • [GetBytesFromString - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 94.34 μs | 99.31 μs | 1.05 | 0.05 | 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.Text.Perf_Utf8Encoding*'
```

### System.Text.Perf_Utf8Encoding.GetStringFromBytes(Input: Greek)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Perf_Utf8Encoding.GetBytesFromString(Input: Greek)

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

### Regressions in System.Reflection.Attributes

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

  • [GetCustomAttributesMethodBaseMissInherit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 119.38 ns | 133.37 ns | 1.12 | 0.27 | 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.Reflection.Attributes*'
```

### System.Reflection.Attributes.GetCustomAttributesMethodBaseMissInherit

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

### Regressions in PerfLabTests.StackWalk

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

  • [Walk - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 30.38 ms | 56.86 ms | 1.87 | 0.05 | 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 'PerfLabTests.StackWalk*'
```

### PerfLabTests.StackWalk.Walk

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

### Regressions in System.Tests.Perf_GC<Char>

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

  • [AllocateArray - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 761.47 ns | 922.75 ns | 1.21 | 0.23 | 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.Tests.Perf_GC*'
```

### System.Tests.Perf_GC<Char>.AllocateArray(length: 1000, pinned: True)

#### 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 | [de29e26a4f69da5d446900a6ba9d68ba3ddc5ba9](https://github.com/dotnet/runtime/commit/de29e26a4f69da5d446900a6ba9d68ba3ddc5ba9)
Compare | [0fd08c887c1317055025965cbe829b732fbe942d](https://github.com/dotnet/runtime/commit/0fd08c887c1317055025965cbe829b732fbe942d)
Diff | [Diff](https://github.com/dotnet/runtime/compare/de29e26a4f69da5d446900a6ba9d68ba3ddc5ba9...0fd08c887c1317055025965cbe829b732fbe942d)
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]()
| 2.66 μs | 2.90 μs | 1.09 | 0.12 | 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_Frozen*'
```

### System.Collections.Perf_Frozen<ReferenceType>.ToFrozenSet(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 | x64
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [de29e26a4f69da5d446900a6ba9d68ba3ddc5ba9](https://github.com/dotnet/runtime/commit/de29e26a4f69da5d446900a6ba9d68ba3ddc5ba9)
Compare | [0fd08c887c1317055025965cbe829b732fbe942d](https://github.com/dotnet/runtime/commit/0fd08c887c1317055025965cbe829b732fbe942d)
Diff | [Diff](https://github.com/dotnet/runtime/compare/de29e26a4f69da5d446900a6ba9d68ba3ddc5ba9...0fd08c887c1317055025965cbe829b732fbe942d)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Text.Tests.Perf_StringBuilder

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

  • [ctor_capacity - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 8.77 μs | 15.63 μs | 1.78 | 0.06 | 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.Text.Tests.Perf_StringBuilder*'
```

### System.Text.Tests.Perf_StringBuilder.ctor_capacity(length: 100000)

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

### Regressions in MicroBenchmarks.Serializers.Json_ToString<CollectionsOfPrimitives>

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

  • [SystemTextJson_Reflection_ - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 91.27 μs | 100.72 μs | 1.10 | 0.05 | 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 'MicroBenchmarks.Serializers.Json_ToString*'
```

### MicroBenchmarks.Serializers.Json_ToString<CollectionsOfPrimitives>.SystemTextJson_Reflection_

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

### Regressions in System.Reflection.Invoke

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

  • [StaticMethod4_ByRefParams_int_string_struct_class_MethodInvoker - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 88.09 ns | 108.35 ns | 1.23 | 0.37 | 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.Reflection.Invoke*'
```

### System.Reflection.Invoke.StaticMethod4_ByRefParams_int_string_struct_class_MethodInvoker

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

### Regressions in System.Tests.Perf_GC<Byte>

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

  • [AllocateArray - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 1.73 μs | 2.09 μs | 1.21 | 0.25 | 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.Tests.Perf_GC*'
```

### System.Tests.Perf_GC<Byte>.AllocateArray(length: 10000, pinned: True)

#### 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 by reproducing the affected benchmarks with `scripts/benchmarks_ci.py` using the listed filters, then compare the baseline and test commits. Inspect `src/benchmarks/micro/libraries/System.Diagnostics/Perf_Process.cs`, `src/benchmarks/micro/libraries/System.Text.Encoding/Perf.Utf8Encoding.cs`, and `src/benchmarks/micro/runtime/System.Reflection/Attributes.cs`, along with the linked reports. Done means identifying the regression cause and confirming the affected Windows/x64 benchmark results no longer regress.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
operating-systems, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.