dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x86: 6 Regressions on 6/26/2026 6:28:17 PM +00:00

Open
#75,197 1 comment 0 reactions 0 assignees View on GitHub
arch-x86 branch-refs/heads/main compilationmode-tiered kind-micro Noise 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 | [22c1ced1d71c05e96f9cca3c2d6171ba9e5f0a55](https://github.com/dotnet/runtime/commit/22c1ced1d71c05e96f9cca3c2d6171ba9e5f0a55)
Compare | [207ffd155f96b38be1749584b99f3ac0a505218c](https://github.com/dotnet/runtime/commit/207ffd155f96b38be1749584b99f3ac0a505218c)
Diff | [Diff](https://github.com/dotnet/runtime/compare/22c1ced1d71c05e96f9cca3c2d6171ba9e5f0a55...207ffd155f96b38be1749584b99f3ac0a505218c)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Text.Encodings.Web.Tests.Perf_Encoders

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

  • [EncodeUtf16 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 55.64 ns | 64.23 ns | 1.15 | 0.07 | False | | |
|
  • [EncodeUtf16 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 53.70 ns | 59.97 ns | 1.12 | 0.02 | False | | |
|
  • [EncodeUtf16 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 25.06 ns | 27.95 ns | 1.12 | 0.04 | False | | |
|
  • [EncodeUtf16 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 73.47 ns | 79.29 ns | 1.08 | 0.03 | 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.Text.Encodings.Web.Tests.Perf_Encoders*'
```

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: Url,&lorem ipsum=dolor sit amet,16)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: JavaScript,&Hello+<World>!,16)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: UnsafeRelaxed,hello "there",16)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: JavaScript,&Hello+<World>!,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 | [22c1ced1d71c05e96f9cca3c2d6171ba9e5f0a55](https://github.com/dotnet/runtime/commit/22c1ced1d71c05e96f9cca3c2d6171ba9e5f0a55)
Compare | [ac17f52074f3a800bbf3cdd616eb61c315e1af1e](https://github.com/dotnet/runtime/commit/ac17f52074f3a800bbf3cdd616eb61c315e1af1e)
Diff | [Diff](https://github.com/dotnet/runtime/compare/22c1ced1d71c05e96f9cca3c2d6171ba9e5f0a55...ac17f52074f3a800bbf3cdd616eb61c315e1af1e)
Configs | CompilationMode:tiered, RunKind:micro

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

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.23 μs | 3.59 μs | 1.11 | 0.14 | 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.Sort*'
```

### System.Collections.Sort<Int32>.Array(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 | [22c1ced1d71c05e96f9cca3c2d6171ba9e5f0a55](https://github.com/dotnet/runtime/commit/22c1ced1d71c05e96f9cca3c2d6171ba9e5f0a55)
Compare | [ac17f52074f3a800bbf3cdd616eb61c315e1af1e](https://github.com/dotnet/runtime/commit/ac17f52074f3a800bbf3cdd616eb61c315e1af1e)
Diff | [Diff](https://github.com/dotnet/runtime/compare/22c1ced1d71c05e96f9cca3c2d6171ba9e5f0a55...ac17f52074f3a800bbf3cdd616eb61c315e1af1e)
Configs | CompilationMode:tiered, RunKind:micro

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

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

  • [HashSet - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.14 μs | 2.30 μs | 1.07 | 0.04 | 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.RemoveFalse*'
```

### System.Collections.RemoveFalse<Int32>.HashSet(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

Research direction

Start by running the provided benchmarks_ci.py commands for System.Text.Encodings.Web.Tests.Perf_Encoders and System.Collections.Sort. Compare the baseline and regression reports, benchmark sources, and linked runtime commit diffs. Done means identifying and addressing the cause of the Windows/x86 performance regressions, then confirming the benchmark results.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, git, python
Domain
operating-systems, performance, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.