dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x64: 5 Improvements on 8/8/2026 4:13:10 AM +00:00

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

### Improvements in System.Reflection.Attributes

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

  • [GetCustomAttributesClassMiss - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 139.17 ns | 103.48 ns | 0.74 | 0.46 | False | | |
|
  • [GetCustomAttributesMethodBaseMissInherit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 127.27 ns | 116.88 ns | 0.92 | 0.26 | 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.Reflection.Attributes*'
```

### System.Reflection.Attributes.GetCustomAttributesClassMiss

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.GetCustomAttributesMethodBaseMissInherit

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

### Improvements in System.Tests.Perf_String

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

  • [GetChars - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 15.38 ns | 14.07 ns | 0.92 | 0.22 | 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.Tests.Perf_String*'
```

### System.Tests.Perf_String.GetChars(size: 100)

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

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

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

  • [ConcurrentBag - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.52 μs | 3.35 μs | 0.74 | 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.CreateAddAndClear*'
```

### System.Collections.CreateAddAndClear<Int32>.ConcurrentBag(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 | [7da460b99b9c7e76b3060ef6da6687a008263ab9](https://github.com/dotnet/runtime/commit/7da460b99b9c7e76b3060ef6da6687a008263ab9)
Compare | [f5f5f83dd8676416636eda75d8c091c6c4f8d506](https://github.com/dotnet/runtime/commit/f5f5f83dd8676416636eda75d8c091c6c4f8d506)
Diff | [Diff](https://github.com/dotnet/runtime/compare/7da460b99b9c7e76b3060ef6da6687a008263ab9...f5f5f83dd8676416636eda75d8c091c6c4f8d506)
Configs | CompilationMode:tiered, RunKind:micro

### Improvements in System.Collections.Perf_LengthBucketsFrozenDictionary

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

  • [TryGetValue_True_FrozenDictionary - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 143.04 μs | 131.45 μs | 0.92 | 0.03 | 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.Perf_LengthBucketsFrozenDictionary*'
```

### System.Collections.Perf_LengthBucketsFrozenDictionary.TryGetValue_True_FrozenDictionary(Count: 10000, ItemsPerBucket: 5)

#### 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 in Attributes.cs, Perf.String.cs, and CreateAddAndClear.cs, then run the provided benchmarks_ci.py commands. Compare the reported results with the baseline and inspect the linked test reports and profiling workflow docs. Done means identifying and validating the cause of the five performance changes; the issue does not specify a code change.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
performance, testing-qa
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.