dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x64: 8 Improvements on 7/17/2026 10:18:08 PM +00:00

Open
#76,523 0 comments 0 reactions 0 assignees View on GitHub
arch-x64 branch-refs/heads/main compilationmode-tiered kind-micro 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 | [509acfd47f3cbbaeddb6a49edadaedb8fdfdf9ad](https://github.com/dotnet/runtime/commit/509acfd47f3cbbaeddb6a49edadaedb8fdfdf9ad)
Compare | [e7c3d6567c4d78e0c10627fa89939767464478c2](https://github.com/dotnet/runtime/commit/e7c3d6567c4d78e0c10627fa89939767464478c2)
Diff | [Diff](https://github.com/dotnet/runtime/compare/509acfd47f3cbbaeddb6a49edadaedb8fdfdf9ad...e7c3d6567c4d78e0c10627fa89939767464478c2)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Linq.Tests.Perf_Enumerable

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

  • [ToArray - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 244.91 ns | 123.30 ns | 0.50 | 0.44 | False | | |
|
  • [Reverse - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 332.71 ns | 236.27 ns | 0.71 | 0.22 | False | | |
|
  • [OrderBy - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 976.67 ns | 875.66 ns | 0.90 | 0.02 | False | | |
|
  • [OrderByDescending - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.19 μs | 1.10 μs | 0.92 | 0.01 | False | | |
|
  • [OrderByThenBy - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.58 μs | 1.50 μs | 0.94 | 0.00 | False | | |

![graph]()
![graph]()
![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.Linq.Tests.Perf_Enumerable*'
```

### System.Linq.Tests.Perf_Enumerable.ToArray(input: IEnumerable)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Linq.Tests.Perf_Enumerable.Reverse(input: IEnumerable)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Linq.Tests.Perf_Enumerable.OrderBy(input: IEnumerable)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Linq.Tests.Perf_Enumerable.OrderByDescending(input: IEnumerable)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Linq.Tests.Perf_Enumerable.OrderByThenBy(input: IEnumerable)

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

### Improvements in System.Text.Json.Document.Tests.Perf_ParseThenWrite

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

  • [ParseThenWrite - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.58 μs | 1.44 μs | 0.91 | 0.02 | 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.Text.Json.Document.Tests.Perf_ParseThenWrite*'
```

### System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: LotsOfStrings)

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

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

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

  • [SerializeToStream - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 157.01 ns | 146.54 ns | 0.93 | 0.43 | 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.Text.Json.Serialization.Tests.WriteJson*'
```

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

---

### Run Information

Name | Value
-- | --
Architecture | x64
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [09f41d9272e6dcff30bfa15653e124d013167e05](https://github.com/dotnet/runtime/commit/09f41d9272e6dcff30bfa15653e124d013167e05)
Compare | [e7c3d6567c4d78e0c10627fa89939767464478c2](https://github.com/dotnet/runtime/commit/e7c3d6567c4d78e0c10627fa89939767464478c2)
Diff | [Diff](https://github.com/dotnet/runtime/compare/09f41d9272e6dcff30bfa15653e124d013167e05...e7c3d6567c4d78e0c10627fa89939767464478c2)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Text.Json.Serialization.Tests.WriteJson<Int32>

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

  • [SerializeToStream - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 147.76 ns | 130.79 ns | 0.89 | 0.29 | 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.Text.Json.Serialization.Tests.WriteJson*'
```

### System.Text.Json.Serialization.Tests.WriteJson<Int32>.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 benchmark sources in performance/src/benchmarks/micro/libraries/System.Linq/Perf.Enumerable.cs and System.Text.Json/Document/ParseThenWrite.cs, then review the linked performance reports and baseline comparisons. Run the provided benchmarks_ci.py command for System.Linq.Tests.Perf_Enumerable and investigate the reported improvements; the issue does not define a specific code change or completion condition.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
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.