dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x86: 116 Regressions on 2/27/2026 9:00:48 AM +00:00

Open
#69,517 3 comments 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 | [7a5e8fc86df2058a2bc5d5e25cb7309f456befa6](https://github.com/dotnet/runtime/commit/7a5e8fc86df2058a2bc5d5e25cb7309f456befa6)
Compare | [b41bbeab8b775a5058bad74e73a84476bfd8d9a7](https://github.com/dotnet/runtime/commit/b41bbeab8b775a5058bad74e73a84476bfd8d9a7)
Diff | [Diff](https://github.com/dotnet/runtime/compare/7a5e8fc86df2058a2bc5d5e25cb7309f456befa6...b41bbeab8b775a5058bad74e73a84476bfd8d9a7)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in PerfLabTests.DelegatePerf

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

  • [DelegateInvoke - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 325.13 μs | 14.18 ms | 43.63 | 0.02 | False | | |
|
  • [MulticastDelegateInvoke - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.57 ms | 738.32 ms | 34.23 | 0.38 | False | | |
|
  • [MulticastDelegateCombineInvoke - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 203.00 ms | 229.38 ms | 1.13 | 0.61 | False | | |
|
  • [MulticastDelegateInvoke - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.92 ms | 73.09 ms | 38.05 | 0.13 | False | | |

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

### PerfLabTests.DelegatePerf.DelegateInvoke

#### ETL Files

#### Histogram

#### JIT Disasms

### PerfLabTests.DelegatePerf.MulticastDelegateInvoke(length: 1000)

#### ETL Files

#### Histogram

#### JIT Disasms

### PerfLabTests.DelegatePerf.MulticastDelegateCombineInvoke

#### ETL Files

#### Histogram

#### JIT Disasms

### PerfLabTests.DelegatePerf.MulticastDelegateInvoke(length: 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 | [7a5e8fc86df2058a2bc5d5e25cb7309f456befa6](https://github.com/dotnet/runtime/commit/7a5e8fc86df2058a2bc5d5e25cb7309f456befa6)
Compare | [b41bbeab8b775a5058bad74e73a84476bfd8d9a7](https://github.com/dotnet/runtime/commit/b41bbeab8b775a5058bad74e73a84476bfd8d9a7)
Diff | [Diff](https://github.com/dotnet/runtime/compare/7a5e8fc86df2058a2bc5d5e25cb7309f456befa6...b41bbeab8b775a5058bad74e73a84476bfd8d9a7)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Buffers.Tests.SearchValuesCharTests

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

  • [LastIndexOfAnyExcept - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.61 ns | 7.06 ns | 1.53 | 0.12 | False | | |
|
  • [LastIndexOfAny - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 22.00 ns | 23.93 ns | 1.09 | 0.06 | False | | |
|
  • [IndexOfAnyExcept - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.60 ns | 6.05 ns | 1.32 | 0.15 | False | | |
|
  • [LastIndexOfAny - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.70 ns | 7.34 ns | 1.56 | 0.12 | False | | |
|
  • [Contains - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.35 ns | 2.50 ns | 1.85 | 0.12 | False | | |
|
  • [Contains - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.36 ns | 2.49 ns | 1.83 | 0.07 | False | | |
|
  • [IndexOfAnyExcept - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 74.12 ns | 120.86 ns | 1.63 | 0.01 | False | | |
|
  • [LastIndexOfAny - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.91 ns | 4.91 ns | 1.26 | 0.10 | False | | |
|
  • [ContainsAny - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.49 ns | 6.54 ns | 1.19 | 0.07 | False | | |
|
  • [LastIndexOfAnyExcept - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.04 ns | 5.19 ns | 1.28 | 0.08 | False | | |
|
  • [IndexOfAnyExcept - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.16 ns | 6.28 ns | 1.22 | 0.10 | False | | |
|
  • [IndexOfAny - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.52 ns | 5.66 ns | 1.25 | 0.14 | False | | |
|
  • [ContainsAny - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 10.73 ns | 12.83 ns | 1.20 | 0.44 | False | | |

[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.Buffers.Tests.SearchValuesCharTests*'
```

### System.Buffers.Tests.SearchValuesCharTests.LastIndexOfAnyExcept(Values: "abcdefABCDEF0123456789Ü")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.LastIndexOfAny(Values: "ßäöüÄÖÜ")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.IndexOfAnyExcept(Values: "abcdefABCDEF0123456789")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.LastIndexOfAny(Values: "abcdefABCDEF0123456789Ü")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.Contains(Values: "ßäöüÄÖÜ")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.Contains(Values: "abcdefABCDEF0123456789Ü")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.IndexOfAnyExcept(Values: "ßäöüÄÖÜ")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.LastIndexOfAny(Values: "abcdefABCDEF0123456789")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.ContainsAny(Values: "abcdefABCDEF0123456789Ü")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.LastIndexOfAnyExcept(Values: "abcdefABCDEF0123456789")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.IndexOfAnyExcept(Values: "abcdefABCDEF0123456789Ü")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.IndexOfAny(Values: "abcdefABCDEF0123456789")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.SearchValuesCharTests.ContainsAny(Values: "ßäöüÄÖÜ")

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

### Regressions in System.Text.Json.Serialization.Tests.ReadJson<ImmutableSortedDictionary<String, String>>

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

  • [DeserializeFromString - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 45.15 μs | 54.73 μs | 1.21 | 0.10 | False | | |
|
  • [DeserializeFromReader - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 51.75 μs | 57.49 μs | 1.11 | 0.06 | False | | |
|
  • [DeserializeFromReader - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 47.33 μs | 57.66 μs | 1.22 | 0.06 | False | | |
|
  • [DeserializeFromStream - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 46.45 μs | 53.38 μs | 1.15 | 0.06 | False | | |
|
  • [DeserializeFromUtf8Bytes - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 46.64 μs | 53.51 μs | 1.15 | 0.06 | False | | |
|
  • [DeserializeFromString - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 49.49 μs | 54.88 μs | 1.11 | 0.07 | False | | |
|
  • [DeserializeFromUtf8Bytes - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 47.05 μs | 54.22 μs | 1.15 | 0.10 | False | | |

[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.Json.Serialization.Tests.ReadJson>*'
```

### System.Text.Json.Serialization.Tests.ReadJson<ImmutableSortedDictionary<String, String>>.DeserializeFromString(Mode: Reflection)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.ReadJson<ImmutableSortedDictionary<String, String>>.DeserializeFromReader(Mode: SourceGen)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.ReadJson<ImmutableSortedDictionary<String, String>>.DeserializeFromReader(Mode: Reflection)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.ReadJson<ImmutableSortedDictionary<String, String>>.DeserializeFromStream(Mode: Reflection)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.ReadJson<ImmutableSortedDictionary<String, String>>.DeserializeFromUtf8Bytes(Mode: Reflection)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.ReadJson<ImmutableSortedDictionary<String, String>>.DeserializeFromString(Mode: SourceGen)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.ReadJson<ImmutableSortedDictionary<String, String>>.DeserializeFromUtf8Bytes(Mode: SourceGen)

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

### Regressions in System.Text.Json.Serialization.Tests.ReadJson<StructRecord>

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

  • [DeserializeFromUtf8Bytes - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 393.61 ns | 498.03 ns | 1.27 | 0.04 | False | | |
|
  • [DeserializeFromReader - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 658.96 ns | 784.22 ns | 1.19 | 0.02 | False | | |
|
  • [DeserializeFromStream - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 656.92 ns | 771.48 ns | 1.17 | 0.01 | False | | |
|
  • [DeserializeFromString - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 414.61 ns | 532.79 ns | 1.29 | 0.05 | False | | |
|
  • [DeserializeFromString - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 440.98 ns | 598.24 ns | 1.36 | 0.07 | False | | |
|
  • [DeserializeFromUtf8Bytes - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 383.32 ns | 475.73 ns | 1.24 | 0.04 | False | | |
|
  • [DeserializeFromStream - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 676.95 ns | 787.80 ns | 1.16 | 0.03 | False | | |
|
  • [DeserializeFromReader - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 659.70 ns | 761.21 ns | 1.15 | 0.01 | False | | |

[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.Json.Serialization.Tests.ReadJson*'
```

### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromUtf8Bytes(Mode: SourceGen)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromReader(Mode: Reflection)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromStream(Mode: Reflection)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromString(Mode: Reflection)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromString(Mode: SourceGen)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromUtf8Bytes(Mode: Reflection)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromStream(Mode: SourceGen)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromReader(Mode: SourceGen)

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