dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x64: 3 Improvements on 7/2/2026 11:21:29 PM +00:00

Open
#75,695 1 comment 0 reactions 0 assignees View on GitHub
arch-x64 branch-refs/heads/main compilationmode-tiered kind-micro Look Again os-windows perf-improvement 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 | x64
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [901aeddd1c55f5fc5a1c1450f234dd954c430ea5](https://github.com/dotnet/runtime/commit/901aeddd1c55f5fc5a1c1450f234dd954c430ea5)
Compare | [e1979b72ccb5f916649f1d9949ef663254790c25](https://github.com/dotnet/runtime/commit/e1979b72ccb5f916649f1d9949ef663254790c25)
Diff | [Diff](https://github.com/dotnet/runtime/compare/901aeddd1c55f5fc5a1c1450f234dd954c430ea5...e1979b72ccb5f916649f1d9949ef663254790c25)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Text.Json.Tests.Perf_Base64

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

  • [WriteByteArrayAsBase64_NoEscaping - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 78.24 ns | 71.49 ns | 0.91 | 0.28 | False | | |
|
  • [WriteByteArrayAsBase64_HeavyEscaping - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 77.07 ns | 72.49 ns | 0.94 | 0.33 | False | | |

![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.Tests.Perf_Base64*'
```

### System.Text.Json.Tests.Perf_Base64.WriteByteArrayAsBase64_NoEscaping(NumberOfBytes: 1000)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Tests.Perf_Base64.WriteByteArrayAsBase64_HeavyEscaping(NumberOfBytes: 1000)

#### 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 | x64
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [901aeddd1c55f5fc5a1c1450f234dd954c430ea5](https://github.com/dotnet/runtime/commit/901aeddd1c55f5fc5a1c1450f234dd954c430ea5)
Compare | [e1979b72ccb5f916649f1d9949ef663254790c25](https://github.com/dotnet/runtime/commit/e1979b72ccb5f916649f1d9949ef663254790c25)
Diff | [Diff](https://github.com/dotnet/runtime/compare/901aeddd1c55f5fc5a1c1450f234dd954c430ea5...e1979b72ccb5f916649f1d9949ef663254790c25)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Collections.CtorFromCollectionNonGeneric<String>

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

  • [Queue - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 5.39 μs | 3.86 μs | 0.72 | 0.32 | 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.CtorFromCollectionNonGeneric*'
```

### System.Collections.CtorFromCollectionNonGeneric<String>.Queue(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 command with the System.Text.Json.Tests.Perf_Base64 and System.Collections.CtorFromCollectionNonGeneric filters. Read the linked benchmark sources in src/benchmarks/micro/libraries/System.Text.Json/Utf8JsonWriter/Perf.Base64.cs and src/benchmarks/micro/libraries/System.Collections/Create/CtorFromCollectionNonGeneric.cs, then use the profiling and benchmarking workflow docs to investigate the reported Windows improvements. Done means the changes are reproducible and their cause or appropriate follow-up is established.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
operating-systems, 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.