dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/x64: 28 Improvements on 3/6/2026 8:16:10 AM -08:00

Open
#70,005 0 comments 0 reactions 0 assignees View on GitHub
arch-wasm arch-x64 branch-refs/heads/main kind-micro os-linux perf-improvement 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 | [51b1e92136c22c1828393b23571de0c2a49e9f62](https://github.com/dotnet/runtime/commit/51b1e92136c22c1828393b23571de0c2a49e9f62)
Compare | [d0118d9c792f67f62b3769bb2e4f79f367034e69](https://github.com/dotnet/runtime/commit/d0118d9c792f67f62b3769bb2e4f79f367034e69)
Diff | [Diff](https://github.com/dotnet/runtime/compare/51b1e92136c22c1828393b23571de0c2a49e9f62...d0118d9c792f67f62b3769bb2e4f79f367034e69)
Configs | CompilationMode:wasm, RunKind:micro

### Improvements in System.Tests.Perf_Guid

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

  • [ctor_bytes - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 96.75 ns | 66.04 ns | 0.68 | 0.08 | False | | |
|
  • [ctor_str - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 414.79 ns | 286.17 ns | 0.69 | 0.07 | False | | |
|
  • [EqualsNotSame - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 10.30 ns | 7.87 ns | 0.76 | 0.36 | False | | |
|
  • [GuidToString - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 162.05 ns | 145.91 ns | 0.90 | 0.07 | False | | |
|
  • [TryWriteBytes - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 73.64 ns | 42.20 ns | 0.57 | 0.11 | False | | |
|
  • [EqualsOperator - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 9.86 ns | 8.15 ns | 0.83 | 0.35 | False | | |
|
  • [Parse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 247.92 ns | 210.45 ns | 0.85 | 0.06 | False | | |
|
  • [EqualsSame - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 10.26 ns | 7.72 ns | 0.75 | 0.45 | 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Guid*'
```

### System.Tests.Perf_Guid.ctor_bytes

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Guid.ctor_str

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Guid.EqualsNotSame

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Guid.GuidToString

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Guid.TryWriteBytes

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Guid.EqualsOperator

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Guid.Parse

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_Guid.EqualsSame

#### 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 | ubuntu 22.04
Queue | ViperUbuntu
Baseline | [51b1e92136c22c1828393b23571de0c2a49e9f62](https://github.com/dotnet/runtime/commit/51b1e92136c22c1828393b23571de0c2a49e9f62)
Compare | [d0118d9c792f67f62b3769bb2e4f79f367034e69](https://github.com/dotnet/runtime/commit/d0118d9c792f67f62b3769bb2e4f79f367034e69)
Diff | [Diff](https://github.com/dotnet/runtime/compare/51b1e92136c22c1828393b23571de0c2a49e9f62...d0118d9c792f67f62b3769bb2e4f79f367034e69)
Configs | CompilationMode:wasm, RunKind:micro

### Improvements in System.Memory.Span<Char>

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

  • [BinarySearch - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 46.74 ns | 37.69 ns | 0.81 | 0.22 | False | | |
|
  • [LastIndexOfValue - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 88.05 ns | 73.16 ns | 0.83 | 0.27 | False | | |
|
  • [IndexOfAnyFiveValues - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 81.66 ns | 67.60 ns | 0.83 | 0.09 | False | | |
|
  • [IndexOfValue - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 127.83 ns | 104.36 ns | 0.82 | 0.12 | False | | |
|
  • [IndexOfAnyThreeValues - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 63.64 ns | 55.63 ns | 0.87 | 0.24 | False | | |
|
  • [Clear - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 14.72 ns | 12.37 ns | 0.84 | 0.19 | False | | |
|
  • [IndexOfAnyFiveValues - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 48.73 ns | 44.57 ns | 0.91 | 0.16 | False | | |
|
  • [Reverse - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 108.51 ns | 75.18 ns | 0.69 | 0.10 | False | | |
|
  • [IndexOfAnyFourValues - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 219.10 ns | 203.50 ns | 0.93 | 0.04 | False | | |
|
  • [IndexOfAnyFourValues - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 73.81 ns | 62.76 ns | 0.85 | 0.09 | False | | |
|
  • [LastIndexOfValue - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 289.98 ns | 267.84 ns | 0.92 | 0.15 | False | | |
|
  • [SequenceCompareToDifferent - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 53.11 ns | 45.45 ns | 0.86 | 0.24 | False | | |
|
  • [IndexOfAnyTwoValues - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 56.53 ns | 51.16 ns | 0.90 | 0.13 | False | | |
|
  • [LastIndexOfAnyValues - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 44.60 ns | 37.73 ns | 0.85 | 0.18 | False | | |
|
  • [IndexOfAnyFourValues - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 48.06 ns | 42.81 ns | 0.89 | 0.16 | False | | |
|
  • [BinarySearch - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 63.35 ns | 55.49 ns | 0.88 | 0.12 | False | | |
|
  • [IndexOfValue - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 42.08 ns | 34.34 ns | 0.82 | 0.23 | False | | |
|
  • [SequenceCompareTo - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 62.39 ns | 58.29 ns | 0.93 | 0.16 | False | | |
|
  • [GetPinnableReference - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 36.94 ns | 19.38 ns | 0.52 | 0.06 | False | | |
|
  • [LastIndexOfValue - Duration of single invocation]()
  • πŸ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 40.69 ns | 34.48 ns | 0.85 | 0.20 | False | | |

![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.Memory.Span*'
```

### System.Memory.Span<Char>.BinarySearch(Size: 4)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.LastIndexOfValue(Size: 33)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.IndexOfAnyFiveValues(Size: 33)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.IndexOfValue(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.IndexOfAnyThreeValues(Size: 33)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.Clear(Size: 4)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.IndexOfAnyFiveValues(Size: 4)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.Reverse(Size: 33)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.IndexOfAnyFourValues(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.IndexOfAnyFourValues(Size: 33)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.LastIndexOfValue(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.SequenceCompareToDifferent(Size: 33)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.IndexOfAnyTwoValues(Size: 33)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.LastIndexOfAnyValues(Size: 4)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.IndexOfAnyFourValues(Size: 4)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.BinarySearch(Size: 512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.IndexOfValue(Size: 4)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.SequenceCompareTo(Size: 33)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.GetPinnableReference(Size: 4)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Memory.Span<Char>.LastIndexOfValue(Size: 4)

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