dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x64: 11 Regressions on 7/6/2026 7:38:21 AM +00:00

Open
#76,141 1 comment 0 reactions 0 assignees View on GitHub
arch-x64 branch-refs/heads/main compilationmode-tiered kind-micro Look Again 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 | x64
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [8f365c934088b8ae21a4dfce8073da0d3eb22a54](https://github.com/dotnet/runtime/commit/8f365c934088b8ae21a4dfce8073da0d3eb22a54)
Compare | [c473d80e67a0e090fa4a3e67fbc5bc9d122b172a](https://github.com/dotnet/runtime/commit/c473d80e67a0e090fa4a3e67fbc5bc9d122b172a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/8f365c934088b8ae21a4dfce8073da0d3eb22a54...c473d80e67a0e090fa4a3e67fbc5bc9d122b172a)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Tests.Perf_String

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

  • [IndexerCheckBoundCheckHoist - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 25.58 ns | 40.44 ns | 1.58 | 0.07 | False | | |
|
  • [IndexerCheckLengthHoisting - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 25.61 ns | 40.44 ns | 1.58 | 0.07 | False | | |
|
  • [Split - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 16.89 ns | 21.19 ns | 1.25 | 0.16 | False | | |
|
  • [Split - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 16.94 ns | 21.20 ns | 1.25 | 0.22 | 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.Tests.Perf_String*'
```

### System.Tests.Perf_String.IndexerCheckBoundCheckHoist

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_String.IndexerCheckLengthHoisting

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_String.Split(s: "ABCDEFGHIJKLMNOPQRSTUVWXYZ", arr: [' '], options: RemoveEmptyEntries)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_String.Split(s: "ABCDEFGHIJKLMNOPQRSTUVWXYZ", arr: [' '], options: None)

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

### Regressions in System.Collections.Sort<IntStruct>

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

  • [Array - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.62 μs | 4.00 μs | 1.11 | 0.06 | False | | |
|
  • [Array_ComparerStruct - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 13.32 μs | 14.37 μs | 1.08 | 0.06 | 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.Sort*'
```

### System.Collections.Sort<IntStruct>.Array(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.Sort<IntStruct>.Array_ComparerStruct(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 | [8f365c934088b8ae21a4dfce8073da0d3eb22a54](https://github.com/dotnet/runtime/commit/8f365c934088b8ae21a4dfce8073da0d3eb22a54)
Compare | [c473d80e67a0e090fa4a3e67fbc5bc9d122b172a](https://github.com/dotnet/runtime/commit/c473d80e67a0e090fa4a3e67fbc5bc9d122b172a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/8f365c934088b8ae21a4dfce8073da0d3eb22a54...c473d80e67a0e090fa4a3e67fbc5bc9d122b172a)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in Struct.GSeq

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

  • [FilterSkipMapSum - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 6.81 μs | 8.05 μs | 1.18 | 0.32 | 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 'Struct.GSeq*'
```

### Struct.GSeq.FilterSkipMapSum

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

### Regressions in Struct.FilteredSpanEnumerator

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

  • [Sum - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.42 μs | 5.42 μs | 1.23 | 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 'Struct.FilteredSpanEnumerator*'
```

### Struct.FilteredSpanEnumerator.Sum

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

### Regressions in System.Tests.Perf_Random

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

  • [ctor_seeded - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 263.72 ns | 288.03 ns | 1.09 | 0.07 | 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_Random*'
```

### System.Tests.Perf_Random.ctor_seeded

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

### Regressions in System.IO.Tests.UnmanagedMemoryStreamTests

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

  • [ReadAsArrays - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 243.63 ns | 270.04 ns | 1.11 | 0.29 | 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.IO.Tests.UnmanagedMemoryStreamTests*'
```

### System.IO.Tests.UnmanagedMemoryStreamTests.ReadAsArrays

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

### Regressions in System.Numerics.Tests.Perf_VectorConvert

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

  • [Convert_double_long - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 502.37 ns | 548.13 ns | 1.09 | 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.Numerics.Tests.Perf_VectorConvert*'
```

### System.Numerics.Tests.Perf_VectorConvert.Convert_double_long

#### 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 at src/benchmarks/micro/libraries/System.Runtime/Perf.String.cs and src/benchmarks/micro/libraries/System.Collections/Sort.cs, then run the provided benchmarks_ci.py command for System.Tests.Perf_String. Compare the reported baseline and test results, using the linked reports and profiling workflow documentation; done means identifying and addressing the reported Windows/x64 regressions.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.