dotnet / dotnet/perf-autofiling-issues
[Perf] Linux/arm64: 40 Improvements on 8/5/2026 1:23:13 AM +00:00
- Dominant language
- No language data
- Stars
- 10
- Forks
- 8
- PR merge metrics
- PR metrics pending
Description
### Run Information
Name | Value
-- | --
Architecture | arm64
OS | ubuntu 22.04
Queue | AmpereUbuntu
Baseline | [2dd5330804f9d4f49599d82c90a67892d4dd8af0](https://github.com/dotnet/runtime/commit/2dd5330804f9d4f49599d82c90a67892d4dd8af0)
Compare | [c8f97975ab0d8ff84aebf176829e17f7c7052f03](https://github.com/dotnet/runtime/commit/c8f97975ab0d8ff84aebf176829e17f7c7052f03)
Diff | [Diff](https://github.com/dotnet/runtime/compare/2dd5330804f9d4f49599d82c90a67892d4dd8af0...c8f97975ab0d8ff84aebf176829e17f7c7052f03)
Configs | CompilationMode:tiered, RunKind:micro
### Improvements in System.Reflection.Metadata.Perf_TypeName
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [Parse_AssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Parse_AssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Parse_AssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Parse_AssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Parse_AssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Parse_AssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ParseAndGetAssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Parse_AssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ParseAndGetAssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ParseAndGetAssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Parse_AssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Parse_AssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ParseAndGetAssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ParseAndGetAssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ParseAndGetFullName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Parse_FullNames - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ParseAndGetAssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ParseAndGetAssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ParseAndGetFullName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Parse_AssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Parse_FullNames - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ParseAndGetAssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ParseAndGetAssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ParseAndGetFullName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Parse_FullNames - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Parse_AssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Parse_FullNames - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ParseAndGetAssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ParseAndGetFullName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ParseAndGetAssemblyQualifiedName - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![graph]()
![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.Metadata.Perf_TypeName*'
```
### 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_AssemblyQualifiedName(input: typeof(System.Int32[*]))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Reflection.Metadata.Perf_TypeName.Parse_AssemblyQualifiedName(input: typeof(System.Reflection.Metadata.Nested))
#### 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.Collections.Generic.Dictionary`2[]) (COMPLEX))
#### 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.Parse_AssemblyQualifiedName(input: typeof(System.Int32*))
#### 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
### System.Reflection.Metadata.Perf_TypeName.Parse_AssemblyQualifiedName(input: typeof(int))
#### 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.ParseAndGetAssemblyQualifiedName(input: typeof(System.Collections.Generic.Dictionary<String, Boolean>))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Reflection.Metadata.Perf_TypeName.ParseAndGetAssemblyQualifiedName(input: typeof(System.Reflection.Metadata.Nested))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Reflection.Metadata.Perf_TypeName.ParseAndGetFullName(input: typeof(System.Collections.Generic.Dictionary`2[]) (COMPLEX))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Reflection.Metadata.Perf_TypeName.Parse_FullNames(input: typeof(System.Collections.Generic.Dictionary<String, Boolean>))
#### 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(int))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Reflection.Metadata.Perf_TypeName.ParseAndGetFullName(input: typeof(System.Collections.Generic.Dictionary`2[]))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Reflection.Metadata.Perf_TypeName.Parse_AssemblyQualifiedName(input: typeof(System.Collections.Generic.Dictionary`2[]))
#### 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.ParseAndGetAssemblyQualifiedName(input: typeof(System.Reflection.Metadata.NestedGeneric<String, Boolean>))
#### 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.ParseAndGetFullName(input: typeof(System.Reflection.Metadata.NestedGeneric<String, Boolean>))
#### ETL Files
#### Histogram
#### JIT Disasms
### 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.Reflection.Metadata.NestedGeneric<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.Collections.Generic.Dictionary`2[]) (COMPLEX))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Reflection.Metadata.Perf_TypeName.ParseAndGetFullName(input: typeof(System.Collections.Generic.Dictionary<String, Boolean>))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Reflection.Metadata.Perf_TypeName.ParseAndGetAssemblyQualifiedName(input: typeof(System.Collections.Generic.Dictionary`2[]))
#### 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 | arm64
OS | ubuntu 22.04
Queue | AmpereUbuntu
Baseline | [2dd5330804f9d4f49599d82c90a67892d4dd8af0](https://github.com/dotnet/runtime/commit/2dd5330804f9d4f49599d82c90a67892d4dd8af0)
Compare | [c8f97975ab0d8ff84aebf176829e17f7c7052f03](https://github.com/dotnet/runtime/commit/c8f97975ab0d8ff84aebf176829e17f7c7052f03)
Diff | [Diff](https://github.com/dotnet/runtime/compare/2dd5330804f9d4f49599d82c90a67892d4dd8af0...c8f97975ab0d8ff84aebf176829e17f7c7052f03)
Configs | CompilationMode:tiered, RunKind:micro
### Improvements in Microsoft.Extensions.Logging.FormattingOverhead
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [FourArguments_DefineMessage - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [TwoArguments - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config 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 'Microsoft.Extensions.Logging.FormattingOverhead*'
```
### Microsoft.Extensions.Logging.FormattingOverhead.FourArguments_DefineMessage
#### ETL Files
#### Histogram
#### JIT Disasms
### Microsoft.Extensions.Logging.FormattingOverhead.TwoArguments
#### 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 | arm64
OS | ubuntu 22.04
Queue | AmpereUbuntu
Baseline | [2dd5330804f9d4f49599d82c90a67892d4dd8af0](https://github.com/dotnet/runtime/commit/2dd5330804f9d4f49599d82c90a67892d4dd8af0)
Compare | [c8f97975ab0d8ff84aebf176829e17f7c7052f03](https://github.com/dotnet/runtime/commit/c8f97975ab0d8ff84aebf176829e17f7c7052f03)
Diff | [Diff](https://github.com/dotnet/runtime/compare/2dd5330804f9d4f49599d82c90a67892d4dd8af0...c8f97975ab0d8ff84aebf176829e17f7c7052f03)
Configs | CompilationMode:tiered, RunKind:micro
### Improvements in System.Text.Json.Tests.Utf8JsonReaderCommentsTests
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [Utf8JsonReaderCommentParsing - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Utf8JsonReaderCommentParsing - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config 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.Text.Json.Tests.Utf8JsonReaderCommentsTests*'
```
### System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Skip, SegmentSize: 0, TestCase: LongMultiLine)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Allow, SegmentSize: 0, TestCase: LongMultiLine)
#### 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 source at src/benchmarks/micro/libraries/System.Reflection.Metadata/Perf.TypeName.cs lines 48-50 and 58-60, then review the linked ARM64 Ubuntu report and baseline/compare commits. Determine whether the reported improvements require a runtime change or follow-up; done means the performance result is understood and any necessary action is identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- operating-systems, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100