dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x86: 422 Regressions on 2/27/2026 3:07:36 AM +00:00

Open
#69,516 13 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 | [d63c175469bcaa3f3d5bc73aa6fd108bbf00797b](https://github.com/dotnet/runtime/commit/d63c175469bcaa3f3d5bc73aa6fd108bbf00797b)
Compare | [3176283d96819946eff7a6ddc65e88b52d4257e7](https://github.com/dotnet/runtime/commit/3176283d96819946eff7a6ddc65e88b52d4257e7)
Diff | [Diff](https://github.com/dotnet/runtime/compare/d63c175469bcaa3f3d5bc73aa6fd108bbf00797b...3176283d96819946eff7a6ddc65e88b52d4257e7)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Text.Json.Tests.Perf_Strings

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

  • [WriteStringsUtf8 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.74 ms | 6.14 ms | 1.07 | 0.00 | False | | |
|
  • [WriteStringsUtf8 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 6.30 ms | 6.78 ms | 1.08 | 0.00 | False | | |
|
  • [WriteStringsUtf8 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.77 ms | 3.04 ms | 1.10 | 0.00 | False | | |
|
  • [WriteStringsUtf8 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 6.20 ms | 6.57 ms | 1.06 | 0.01 | False | | |
|
  • [WriteStringsUtf8 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.27 ms | 2.56 ms | 1.13 | 0.00 | False | | |
|
  • [WriteStringsUtf8 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.89 ms | 6.27 ms | 1.06 | 0.02 | False | | |
|
  • [WriteStringsUtf8 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.36 ms | 2.65 ms | 1.12 | 0.00 | False | | |
|
  • [WriteStringsUtf8 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.69 ms | 2.97 ms | 1.10 | 0.00 | 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.Tests.Perf_Strings*'
```

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: True, Escaped: OneEscaped)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: False, Escaped: OneEscaped)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: False, Escaped: NoneEscaped)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: True, Escaped: OneEscaped)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: True, Escaped: NoneEscaped)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: False, Escaped: OneEscaped)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: False, Escaped: NoneEscaped)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: True, Escaped: NoneEscaped)

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

### Regressions in System.IO.Tests.StreamReaderReadLineTests

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

  • [ReadLineAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 196.10 μs | 216.31 μs | 1.10 | 0.06 | False | | |
|
  • [ReadLineAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 97.10 μs | 113.64 μs | 1.17 | 0.27 | False | | |
|
  • [ReadLine - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.99 μs | 4.31 μs | 1.08 | 0.01 | False | | |
|
  • [ReadLineAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.91 μs | 5.49 μs | 1.12 | 0.09 | False | | |
|
  • [ReadLine - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.10 μs | 4.48 μs | 1.09 | 0.14 | False | | |
|
  • [ReadLineAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.66 μs | 4.97 μs | 1.07 | 0.07 | False | | |
|
  • [ReadLineAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 169.76 μs | 190.19 μs | 1.12 | 0.05 | False | | |
|
  • [ReadLine - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.99 μs | 4.44 μs | 1.11 | 0.06 | 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.StreamReaderReadLineTests*'
```

### System.IO.Tests.StreamReaderReadLineTests.ReadLineAsync(LineLengthRange: [ 0, 0])

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.StreamReaderReadLineTests.ReadLineAsync(LineLengthRange: [ 1, 8])

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange: [ 129, 1024])

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.StreamReaderReadLineTests.ReadLineAsync(LineLengthRange: [ 0, 1024])

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange: [1025, 2048])

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.StreamReaderReadLineTests.ReadLineAsync(LineLengthRange: [1025, 2048])

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.StreamReaderReadLineTests.ReadLineAsync(LineLengthRange: [ 1, 1])

#### ETL Files

#### Histogram

#### JIT Disasms

### System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange: [ 0, 1024])

#### 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.Threading.Channels.Tests.UnboundedChannelPerfTests

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

  • [TryWriteThenTryRead - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 21.71 ns | 32.37 ns | 1.49 | 0.07 | False | | |
|
  • [WriteAsyncThenReadAsync - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 28.43 ns | 33.28 ns | 1.17 | 0.21 | 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.Channels.Tests.UnboundedChannelPerfTests*'
```

### System.Threading.Channels.Tests.UnboundedChannelPerfTests.TryWriteThenTryRead

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Threading.Channels.Tests.UnboundedChannelPerfTests.WriteAsyncThenReadAsync

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

### Regressions in MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>

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

  • [DataContractJsonSerializer_ - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 2.42 μs | 3.22 μs | 1.33 | 0.02 | False | | |
|
  • [SystemTextJson_Reflection_ - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 350.16 ns | 375.03 ns | 1.07 | 0.09 | False | | |
|
  • [JsonNet_ - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 740.01 ns | 807.49 ns | 1.09 | 0.02 | 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 'MicroBenchmarks.Serializers.Json_FromStream*'
```

### MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>.DataContractJsonSerializer_

#### ETL Files

#### Histogram

#### JIT Disasms

### MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>.SystemTextJson_Reflection_

#### ETL Files

#### Histogram

#### JIT Disasms

### MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>.JsonNet_

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

### Regressions in System.Buffers.Tests.RentReturnArrayPoolTests<Byte>

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

  • [SingleSerial - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 19.75 ns | 20.94 ns | 1.06 | 0.04 | False | | |
|
  • [SingleSerial - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 10.62 ns | 19.44 ns | 1.83 | 0.07 | False | | |
|
  • [SingleParallel - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 20.83 ns | 35.47 ns | 1.70 | 0.32 | 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.RentReturnArrayPoolTests*'
```

### System.Buffers.Tests.RentReturnArrayPoolTests<Byte>.SingleSerial(RentalSize: 4096, ManipulateArray: False, Async: False, UseSharedPool: False)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.RentReturnArrayPoolTests<Byte>.SingleSerial(RentalSize: 4096, ManipulateArray: False, Async: False, UseSharedPool: True)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Buffers.Tests.RentReturnArrayPoolTests<Byte>.SingleParallel(RentalSize: 4096, ManipulateArray: False, Async: False, UseSharedPool: 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

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.