dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x86: 3 Regressions on 6/3/2026 5:42:33 PM +00:00

Open
#74,250 1 comment 0 reactions 0 assignees View on GitHub
arch-x86 branch-refs/heads/main compilationmode-tiered kind-micro Look Again os-windows perf-regression PGO 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 | [bc934f2c07ab2a2aed23ae9b75abc228389fe774](https://github.com/dotnet/runtime/commit/bc934f2c07ab2a2aed23ae9b75abc228389fe774)
Compare | [79e622bc48c0215923b8c2585f70b068df41e9b0](https://github.com/dotnet/runtime/commit/79e622bc48c0215923b8c2585f70b068df41e9b0)
Diff | [Diff](https://github.com/dotnet/runtime/compare/bc934f2c07ab2a2aed23ae9b75abc228389fe774...79e622bc48c0215923b8c2585f70b068df41e9b0)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>

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

  • [SerializeObjectProperty - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 188.36 ns | 212.84 ns | 1.13 | 0.12 | False | | |
|
  • [SerializeToWriter - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 57.28 ns | 63.86 ns | 1.11 | 0.02 | False | | |
|
  • [SerializeToStream - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 125.64 ns | 135.04 ns | 1.07 | 0.13 | False | | |

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

### System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeObjectProperty(Mode: SourceGen)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeToWriter(Mode: SourceGen)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeToStream(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

Research direction

Start with the regression report and the benchmark source at performance/src/benchmarks/micro/libraries/System.Text.Json/Serializer/WriteJson.cs#L81-L98, then run the provided benchmarks_ci.py command. Compare the baseline and test commits and investigate the three reported WriteJson regressions. Done means the cause is confirmed and the regression has a validated resolution or documented triage outcome.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.