dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x64: 11 Improvements on 6/28/2026 5:31:55 PM +00:00

Open
#75,222 1 comment 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 | [19a803d6d08a846656d1116d0f4e7001e792d5a1](https://github.com/dotnet/runtime/commit/19a803d6d08a846656d1116d0f4e7001e792d5a1)
Compare | [9cb68cd564627fd80fb9077731093f46d1e0e667](https://github.com/dotnet/runtime/commit/9cb68cd564627fd80fb9077731093f46d1e0e667)
Diff | [Diff](https://github.com/dotnet/runtime/compare/19a803d6d08a846656d1116d0f4e7001e792d5a1...9cb68cd564627fd80fb9077731093f46d1e0e667)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Threading.Tests.Perf_SemaphoreSlim

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

  • [ReleaseWaitAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 37.98 ns | 17.63 ns | 0.46 | 0.13 | False | | |
|
  • [ReleaseWait - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 30.87 ns | 21.15 ns | 0.69 | 0.46 | 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.Threading.Tests.Perf_SemaphoreSlim*'
```

### System.Threading.Tests.Perf_SemaphoreSlim.ReleaseWaitAsync

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Threading.Tests.Perf_SemaphoreSlim.ReleaseWait

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

### Improvements in System.Collections.Concurrent.Count<String>

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

  • [Bag - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 17.88 ns | 16.56 ns | 0.93 | 0.04 | False | | |
|
  • [Dictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 239.15 ns | 222.09 ns | 0.93 | 0.01 | 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.Collections.Concurrent.Count*'
```

### System.Collections.Concurrent.Count<String>.Bag(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Collections.Concurrent.Count<String>.Dictionary(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)

---

### Run Information

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

### Improvements in System.Collections.IndexerSet<Int32>

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

  • [ConcurrentDictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 9.24 μs | 7.69 μs | 0.83 | 0.06 | 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.IndexerSet*'
```

### System.Collections.IndexerSet<Int32>.ConcurrentDictionary(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)

---

### Run Information

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

### Improvements in System.Collections.TryAddGiventSize<Int32>

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

  • [ConcurrentDictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 17.93 μs | 16.65 μs | 0.93 | 0.01 | 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.TryAddGiventSize*'
```

### System.Collections.TryAddGiventSize<Int32>.ConcurrentDictionary(Count: 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)

---

### Run Information

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

### Improvements in System.Collections.AddGivenSize<Int32>

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

  • [ConcurrentDictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 18.02 μs | 16.71 μs | 0.93 | 0.04 | 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.AddGivenSize*'
```

### System.Collections.AddGivenSize<Int32>.ConcurrentDictionary(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)

---

### Run Information

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

### Improvements in System.Collections.Concurrent.Count<Int32>

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

  • [Bag - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 17.87 ns | 16.55 ns | 0.93 | 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.Collections.Concurrent.Count*'
```

### System.Collections.Concurrent.Count<Int32>.Bag(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)

---

### Run Information

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

### Improvements in System.Threading.Channels.Tests.BoundedChannelPerfTests

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

  • [WriteAsyncThenReadAsync - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 88.46 ns | 55.02 ns | 0.62 | 0.31 | 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.Threading.Channels.Tests.BoundedChannelPerfTests*'
```

### System.Threading.Channels.Tests.BoundedChannelPerfTests.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 | x64
OS | Windows 10.0.22631
Queue | ViperWindows
Baseline | [19a803d6d08a846656d1116d0f4e7001e792d5a1](https://github.com/dotnet/runtime/commit/19a803d6d08a846656d1116d0f4e7001e792d5a1)
Compare | [9cb68cd564627fd80fb9077731093f46d1e0e667](https://github.com/dotnet/runtime/commit/9cb68cd564627fd80fb9077731093f46d1e0e667)
Diff | [Diff](https://github.com/dotnet/runtime/compare/19a803d6d08a846656d1116d0f4e7001e792d5a1...9cb68cd564627fd80fb9077731093f46d1e0e667)
Configs | CompilationMode:tiered, RunKind:micro

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

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

  • [ConcurrentDictionary - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 11.11 μs | 10.43 μs | 0.94 | 0.17 | 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.IndexerSet*'
```

### System.Collections.IndexerSet<String>.ConcurrentDictionary(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)

---

### Run Information

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

### Improvements in Microsoft.AspNetCore.Server.Kestrel.Performance.PipeThroughputBenchmark

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

  • [Parse_SequentialAsync - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 129.09 ns | 102.56 ns | 0.79 | 0.36 | 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 'Microsoft.AspNetCore.Server.Kestrel.Performance.PipeThroughputBenchmark*'
```

### Microsoft.AspNetCore.Server.Kestrel.Performance.PipeThroughputBenchmark.Parse_SequentialAsync(Length: 128, Chunks: 1)

#### 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 linked benchmark sources: src/benchmarks/micro/libraries/System.Threading/Perf.SemaphoreSlim.cs, Concurrent/Count.cs, and Indexer/IndexerSet.cs. Run the documented benchmarks_ci.py commands on Windows, then inspect the linked reports and compare the baseline and test results; done requires an agreed runtime change and validated performance results.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.