dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x86: 119 Regressions on 1/23/2026 10:32:11 PM +00:00

Open
#68,321 5 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 | [f7cbeb10f3b900ca4de0eb719a85ae206e3472e9](https://github.com/dotnet/runtime/commit/f7cbeb10f3b900ca4de0eb719a85ae206e3472e9)
Compare | [9baed28a0526f4c164ba1043edeeb8718df7aabb](https://github.com/dotnet/runtime/commit/9baed28a0526f4c164ba1043edeeb8718df7aabb)
Diff | [Diff](https://github.com/dotnet/runtime/compare/f7cbeb10f3b900ca4de0eb719a85ae206e3472e9...9baed28a0526f4c164ba1043edeeb8718df7aabb)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.IO.Tests.BinaryReaderTests

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

  • [ReadSmallString - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 26.44 ns | 28.96 ns | 1.10 | 0.16 | False | | |
|
  • [ReadUInt64 - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 0.79 ns | 2.52 ns | 3.20 | 0.47 | 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.IO.Tests.BinaryReaderTests*'
```

### System.IO.Tests.BinaryReaderTests.ReadSmallString

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.BinaryReaderTests.ReadUInt64

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

### Regressions in System.Memory.ReadOnlySequence

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

  • [Slice_Repeat - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 24.08 ns | 25.62 ns | 1.06 | 0.00 | False | | |
|
  • [Slice_Start_And_Length - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 8.12 ns | 9.45 ns | 1.16 | 0.25 | 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.Memory.ReadOnlySequence*'
```

### System.Memory.ReadOnlySequence.Slice_Repeat(Segment: Multiple)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.ReadOnlySequence.Slice_Start_And_Length(Segment: Multiple)

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

### Regressions in System.Text.Tests.Perf_Encoding

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

  • [GetBytes - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 15.25 ns | 16.69 ns | 1.09 | 0.35 | False | | |
|
  • [GetChars - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 15.84 ns | 17.01 ns | 1.07 | 0.39 | False | | |
|
  • [GetString - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 13.44 ns | 14.87 ns | 1.11 | 0.39 | False | | |
|
  • [GetByteCount - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.18 ns | 7.87 ns | 1.52 | 0.06 | False | | |
|
  • [GetString - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 43.63 ns | 46.44 ns | 1.06 | 0.02 | False | | |
|
  • [GetString - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 9.65 ns | 11.29 ns | 1.17 | 0.07 | 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.Tests.Perf_Encoding*'
```

### System.Text.Tests.Perf_Encoding.GetBytes(size: 16, encName: "utf-8")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Tests.Perf_Encoding.GetChars(size: 16, encName: "utf-8")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Tests.Perf_Encoding.GetString(size: 16, encName: "utf-8")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Tests.Perf_Encoding.GetByteCount(size: 16, encName: "utf-8")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Tests.Perf_Encoding.GetString(size: 512, encName: "ascii")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Tests.Perf_Encoding.GetString(size: 16, encName: "ascii")

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

### Regressions in System.Text.Perf_Ascii

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

  • [ToLower_Bytes_Chars - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 13.51 ns | 14.84 ns | 1.10 | 0.11 | False | | |
|
  • [ToUpperInPlace_Chars - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 18.41 ns | 20.87 ns | 1.13 | 0.59 | 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.Perf_Ascii*'
```

### System.Text.Perf_Ascii.ToLower_Bytes_Chars(Size: 6)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Perf_Ascii.ToUpperInPlace_Chars(Size: 128)

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

  • [NextDouble - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.16 ns | 2.93 ns | 2.53 | 0.61 | False | | |
|
  • [Next_long_unseeded - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 2.56 ns | 4.20 ns | 1.64 | 0.16 | 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.Tests.Perf_Random*'
```

### System.Tests.Perf_Random.NextDouble

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Random.Next_long_unseeded

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

  • [Replace_String - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 23.26 ns | 25.30 ns | 1.09 | 0.05 | False | | |
|
  • [GetChars - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 11.19 ns | 12.29 ns | 1.10 | 0.19 | False | | |
|
  • [PadLeft - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.08 ns | 5.10 ns | 1.25 | 0.09 | False | | |
|
  • [ToLowerInvariant - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 12.77 ns | 13.94 ns | 1.09 | 0.22 | False | | |
|
  • [Join_Enumerable - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 150.52 ns | 166.86 ns | 1.11 | 0.03 | False | | |
|
  • [ToLowerInvariant - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 19.40 ns | 21.28 ns | 1.10 | 0.27 | False | | |
|
  • [Replace_String - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 8.56 ns | 9.86 ns | 1.15 | 0.07 | False | | |
|
  • [ToUpper - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.04 ns | 5.28 ns | 1.31 | 0.12 | False | | |
|
  • [ToUpperInvariant - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 11.80 ns | 13.93 ns | 1.18 | 0.25 | False | | |
|
  • [IndexerCheckLengthHoisting - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 20.41 ns | 21.53 ns | 1.05 | 0.01 | False | | |
|
  • [ToUpperInvariant - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 12.85 ns | 13.88 ns | 1.08 | 0.20 | False | | |
|
  • [ToLowerInvariant - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 12.70 ns | 13.91 ns | 1.09 | 0.21 | False | | |
|
  • [ToUpper - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 20.21 ns | 21.80 ns | 1.08 | 0.20 | 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.Tests.Perf_String*'
```

### System.Tests.Perf_String.Replace_String(text: "This is a very nice sentence. This is another very nice sentence.", oldValue: "a", newValue: "b")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_String.GetChars(size: 100)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_String.PadLeft(n: 18)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_String.ToLowerInvariant(s: "TeSt")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_String.Join_Enumerable

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_String.ToLowerInvariant(s: "This is a much longer piece of text that might benefit more from vectorization.")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_String.Replace_String(text: "This is a very nice sentence", oldValue: "bad", newValue: "nice")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_String.ToUpper(s: "TEST")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_String.ToUpperInvariant(s: "TeSt")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_String.IndexerCheckLengthHoisting

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_String.ToUpperInvariant(s: "test")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_String.ToLowerInvariant(s: "TEST")

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_String.ToUpper(s: "This is a much longer piece of text that might benefit more from vectorization.")

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

### Regressions in System.Threading.Tests.Perf_Volatile

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

  • [Read_double - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 11.73 ns | 13.56 ns | 1.16 | 0.27 | 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.Threading.Tests.Perf_Volatile*'
```

### System.Threading.Tests.Perf_Volatile.Read_double

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