dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/x64: 23 Improvements on 5/4/2026 11:06:42 AM +00:00

Open
#72,825 1 comment 0 reactions 0 assignees View on GitHub
arch-wasm arch-x64 branch-refs/heads/main compilationmode-wasm kind-micro os-linux perf-improvement runkind-micro runtimetype-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 | ubuntu 22.04
Queue | ViperUbuntu
Baseline | [fcd092d376288c6c8c587217565f74107b9a3593](https://github.com/dotnet/runtime/commit/fcd092d376288c6c8c587217565f74107b9a3593)
Compare | [f1ca590eaa790d84d8d9eebf3185bff65865a65d](https://github.com/dotnet/runtime/commit/f1ca590eaa790d84d8d9eebf3185bff65865a65d)
Diff | [Diff](https://github.com/dotnet/runtime/compare/fcd092d376288c6c8c587217565f74107b9a3593...f1ca590eaa790d84d8d9eebf3185bff65865a65d)
Configs | CompilationMode:wasm, RunKind:micro, RuntimeType:coreclr

### Improvements in System.Reflection.Attributes

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

  • [IsDefinedClassMissInherit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 31.36 μs | 18.54 μs | 0.59 | 0.25 | False | | |
|
  • [GetCustomAttributesClassMiss - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 7.79 μs | 5.11 μs | 0.66 | 0.18 | False | | |
|
  • [GetCustomAttributesClassMissInherit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 11.88 μs | 8.13 μs | 0.68 | 0.15 | False | | |
|
  • [IsDefinedClassMiss - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.85 μs | 3.36 μs | 0.69 | 0.25 | False | | |
|
  • [GetCustomAttributesClassHit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 24.00 μs | 16.67 μs | 0.69 | 0.27 | False | | |
|
  • [IsDefinedMethodBaseMissInherit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 6.14 μs | 4.28 μs | 0.70 | 0.21 | False | | |
|
  • [IsDefinedMethodBaseMiss - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 4.50 μs | 3.18 μs | 0.71 | 0.17 | False | | |
|
  • [GetCustomAttributesMethodOverrideMissInherit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 23.73 μs | 18.28 μs | 0.77 | 0.34 | False | | |
|
  • [GetCustomAttributesMethodOverrideHitInherit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 41.11 μs | 31.97 μs | 0.78 | 0.25 | False | | |
|
  • [IsDefinedMethodOverrideMissInherit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 12.15 μs | 9.52 μs | 0.78 | 0.23 | False | | |
|
  • [IsDefinedClassHitInherit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 12.26 μs | 9.75 μs | 0.80 | 0.18 | False | | |
|
  • [IsDefinedMethodBaseHit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 11.59 μs | 9.44 μs | 0.81 | 0.23 | False | | |
|
  • [IsDefinedMethodOverrideHit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 11.57 μs | 9.49 μs | 0.82 | 0.23 | False | | |
|
  • [GetCustomAttributesMethodBaseMissInherit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 7.82 μs | 6.43 μs | 0.82 | 0.16 | False | | |
|
  • [GetCustomAttributesClassHitInherit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 24.67 μs | 20.30 μs | 0.82 | 0.36 | False | | |
|
  • [IsDefinedMethodOverrideMiss - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 11.51 μs | 9.49 μs | 0.82 | 0.24 | False | | |
|
  • [IsDefinedClassHit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 11.71 μs | 9.82 μs | 0.84 | 0.20 | False | | |
|
  • [GetCustomAttributesMethodBaseMiss - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 6.00 μs | 5.07 μs | 0.85 | 0.14 | False | | |
|
  • [GetCustomAttributesMethodBaseHit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 20.30 μs | 17.21 μs | 0.85 | 0.29 | False | | |
|
  • [GetCustomAttributesMethodBaseHitInherit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 21.24 μs | 18.34 μs | 0.86 | 0.30 | False | | |
|
  • [GetCustomAttributesMethodOverrideMiss - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 18.97 μs | 16.50 μs | 0.87 | 0.25 | False | | |
|
  • [IsDefinedMethodOverrideHitInherit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 10.65 μs | 9.57 μs | 0.90 | 0.26 | False | | |
|
  • [IsDefinedMethodBaseHitInherit - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 10.68 μs | 10.14 μs | 0.95 | 0.17 | False | | |

![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Reflection.Attributes*'
```

### System.Reflection.Attributes.IsDefinedClassMissInherit

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.GetCustomAttributesClassMiss

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.GetCustomAttributesClassMissInherit

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.IsDefinedClassMiss

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.GetCustomAttributesClassHit

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.IsDefinedMethodBaseMissInherit

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.IsDefinedMethodBaseMiss

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.GetCustomAttributesMethodOverrideMissInherit

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.GetCustomAttributesMethodOverrideHitInherit

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.IsDefinedMethodOverrideMissInherit

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.IsDefinedClassHitInherit

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.IsDefinedMethodBaseHit

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.IsDefinedMethodOverrideHit

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.GetCustomAttributesMethodBaseMissInherit

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.GetCustomAttributesClassHitInherit

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.IsDefinedMethodOverrideMiss

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.IsDefinedClassHit

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.GetCustomAttributesMethodBaseMiss

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.GetCustomAttributesMethodBaseHit

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.GetCustomAttributesMethodBaseHitInherit

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.GetCustomAttributesMethodOverrideMiss

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.IsDefinedMethodOverrideHitInherit

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Reflection.Attributes.IsDefinedMethodBaseHitInherit

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

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.