dotnet / dotnet/perf-autofiling-issues

[Perf] Windows/x86: 8 Regressions on 6/25/2026 8:16:25 PM +00:00

Open
#75,196 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 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 | [42f3669b3a7f418f571ad63a77b3e7ebf9ee64a8](https://github.com/dotnet/runtime/commit/42f3669b3a7f418f571ad63a77b3e7ebf9ee64a8)
Compare | [c369fd627a26b606f36e6b3cbef6f25f3c00bbac](https://github.com/dotnet/runtime/commit/c369fd627a26b606f36e6b3cbef6f25f3c00bbac)
Diff | [Diff](https://github.com/dotnet/runtime/compare/42f3669b3a7f418f571ad63a77b3e7ebf9ee64a8...c369fd627a26b606f36e6b3cbef6f25f3c00bbac)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Reflection.Metadata.Perf_TypeName

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

  • [Parse_FullNames - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.20 μs | 1.36 μs | 1.14 | 0.21 | False | | |
|
  • [Parse_AssemblyQualifiedName - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 587.12 ns | 655.49 ns | 1.12 | 0.22 | False | | |
|
  • [Parse_AssemblyQualifiedName - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 599.53 ns | 659.96 ns | 1.10 | 0.21 | False | | |
|
  • [Parse_FullNames - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 3.25 μs | 3.51 μs | 1.08 | 0.16 | False | | |
|
  • [Parse_AssemblyQualifiedName - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.72 μs | 1.85 μs | 1.08 | 0.21 | False | | |
|
  • [Parse_FullNames - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.23 μs | 1.32 μs | 1.08 | 0.23 | False | | |
|
  • [ParseAndGetAssemblyQualifiedName - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 733.91 ns | 785.60 ns | 1.07 | 0.10 | False | | |
|
  • [ParseAndGetAssemblyQualifiedName - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 742.58 ns | 791.44 ns | 1.07 | 0.13 | False | | |

![graph]()
![graph]()
![graph]()
![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.Reflection.Metadata.Perf_TypeName*'
```

### System.Reflection.Metadata.Perf_TypeName.Parse_FullNames(input: typeof(System.Reflection.Metadata.NestedGeneric<String, Boolean>))

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Metadata.Perf_TypeName.Parse_AssemblyQualifiedName(input: typeof(System.Int32&))

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Metadata.Perf_TypeName.Parse_AssemblyQualifiedName(input: typeof(System.Int32[,]))

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Metadata.Perf_TypeName.Parse_FullNames(input: typeof(System.Collections.Generic.Dictionary`2[]) (COMPLEX))

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Metadata.Perf_TypeName.Parse_AssemblyQualifiedName(input: typeof(System.Collections.Generic.Dictionary<String, Boolean>))

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Metadata.Perf_TypeName.Parse_FullNames(input: typeof(System.Collections.Generic.Dictionary`2[]))

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Metadata.Perf_TypeName.ParseAndGetAssemblyQualifiedName(input: typeof(System.Int32&))

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Metadata.Perf_TypeName.ParseAndGetAssemblyQualifiedName(input: typeof(System.Int32[,]))

#### 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 listed System.Reflection.Metadata benchmarks in performance/src/benchmarks/micro/libraries/System.Reflection.Metadata/Perf.TypeName.cs, then compare the baseline and test commits linked in the run information. Reproduce the affected x86 Windows benchmarks and trace the regression to a responsible change; done means the regression is explained and an appropriate fix or follow-up is identified.

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
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.