dotnet / dotnet/perf-autofiling-issues
[Perf] Linux/x64: 13 Regressions on 8/24/2026 1:18:54 AM +00:00
- 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 | [efc7248c8c8a7aa7ad30a58623ee5284ce462a17](https://github.com/dotnet/runtime/commit/efc7248c8c8a7aa7ad30a58623ee5284ce462a17)
Compare | [d5d5cbcba8af2882afdda08e5b667206c7dbf09a](https://github.com/dotnet/runtime/commit/d5d5cbcba8af2882afdda08e5b667206c7dbf09a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/efc7248c8c8a7aa7ad30a58623ee5284ce462a17...d5d5cbcba8af2882afdda08e5b667206c7dbf09a)
Configs | AOT:true, CompilationMode:wasm, RunKind:micro
### Regressions in System.Memory.Span<Byte>
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [ToArray - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ToArray - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ToArray - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ToArray - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config 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<Byte>.ToArray(Size: 4)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Memory.Span<Byte>.ToArray(Size: 33)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Memory.Span<Byte>.ToArray(Size: 512)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Memory.Span<Byte>.ToArray(Size: 3000)
#### 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 | [efc7248c8c8a7aa7ad30a58623ee5284ce462a17](https://github.com/dotnet/runtime/commit/efc7248c8c8a7aa7ad30a58623ee5284ce462a17)
Compare | [d5d5cbcba8af2882afdda08e5b667206c7dbf09a](https://github.com/dotnet/runtime/commit/d5d5cbcba8af2882afdda08e5b667206c7dbf09a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/efc7248c8c8a7aa7ad30a58623ee5284ce462a17...d5d5cbcba8af2882afdda08e5b667206c7dbf09a)
Configs | AOT:true, CompilationMode:wasm, RunKind:micro
### Regressions in System.Memory.Span<Char>
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [ToArray - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ToArray - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ToArray - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config 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>.ToArray(Size: 4)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Memory.Span<Char>.ToArray(Size: 33)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Memory.Span<Char>.ToArray(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 | ubuntu 22.04
Queue | ViperUbuntu
Baseline | [efc7248c8c8a7aa7ad30a58623ee5284ce462a17](https://github.com/dotnet/runtime/commit/efc7248c8c8a7aa7ad30a58623ee5284ce462a17)
Compare | [d5d5cbcba8af2882afdda08e5b667206c7dbf09a](https://github.com/dotnet/runtime/commit/d5d5cbcba8af2882afdda08e5b667206c7dbf09a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/efc7248c8c8a7aa7ad30a58623ee5284ce462a17...d5d5cbcba8af2882afdda08e5b667206c7dbf09a)
Configs | AOT:true, CompilationMode:wasm, RunKind:micro
### Regressions in System.Memory.Span<Int32>
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [ToArray - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ToArray - 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.Memory.Span*'
```
### System.Memory.Span<Int32>.ToArray(Size: 4)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Memory.Span<Int32>.ToArray(Size: 33)
#### 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 | [efc7248c8c8a7aa7ad30a58623ee5284ce462a17](https://github.com/dotnet/runtime/commit/efc7248c8c8a7aa7ad30a58623ee5284ce462a17)
Compare | [d5d5cbcba8af2882afdda08e5b667206c7dbf09a](https://github.com/dotnet/runtime/commit/d5d5cbcba8af2882afdda08e5b667206c7dbf09a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/efc7248c8c8a7aa7ad30a58623ee5284ce462a17...d5d5cbcba8af2882afdda08e5b667206c7dbf09a)
Configs | AOT:true, CompilationMode:wasm, RunKind:micro
### Regressions in System.Tests.Perf_Enum
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [GetValuesAsUnderlyingType_Generic - Duration of single invocation]()
- [ADX - Test Multi Config Graph]()
|
- [GetValuesAsUnderlyingType_NonGeneric - Duration of single invocation]()
- [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.Tests.Perf_Enum*'
```
### System.Tests.Perf_Enum.GetValuesAsUnderlyingType_Generic
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_Enum.GetValuesAsUnderlyingType_NonGeneric
#### 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 | [efc7248c8c8a7aa7ad30a58623ee5284ce462a17](https://github.com/dotnet/runtime/commit/efc7248c8c8a7aa7ad30a58623ee5284ce462a17)
Compare | [d5d5cbcba8af2882afdda08e5b667206c7dbf09a](https://github.com/dotnet/runtime/commit/d5d5cbcba8af2882afdda08e5b667206c7dbf09a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/efc7248c8c8a7aa7ad30a58623ee5284ce462a17...d5d5cbcba8af2882afdda08e5b667206c7dbf09a)
Configs | AOT:true, CompilationMode:wasm, RunKind:micro
### Regressions in System.Text.Tests.Perf_Encoding
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [GetBytes - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config 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.Tests.Perf_Encoding*'
```
### System.Text.Tests.Perf_Encoding.GetBytes(size: 16, encName: "utf-8")
#### 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 | [efc7248c8c8a7aa7ad30a58623ee5284ce462a17](https://github.com/dotnet/runtime/commit/efc7248c8c8a7aa7ad30a58623ee5284ce462a17)
Compare | [d5d5cbcba8af2882afdda08e5b667206c7dbf09a](https://github.com/dotnet/runtime/commit/d5d5cbcba8af2882afdda08e5b667206c7dbf09a)
Diff | [Diff](https://github.com/dotnet/runtime/compare/efc7248c8c8a7aa7ad30a58623ee5284ce462a17...d5d5cbcba8af2882afdda08e5b667206c7dbf09a)
Configs | AOT:true, CompilationMode:wasm, RunKind:micro
### Regressions in System.Memory.Memory<Byte>
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [ToArray - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config 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.Memory*'
```
### System.Memory.Memory<Byte>.ToArray(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)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the benchmark source at src/benchmarks/micro/libraries/System.Memory/Span.cs lines 59-60 and the profiling and benchmarking workflow docs linked in the issue. Run the provided benchmarks_ci.py command with the System.Memory.Span filter, then compare the baseline and test reports for the listed ToArray sizes. Done means the reported Linux/x64 WASM performance regression is explained and addressed, with the benchmark results no longer regressing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, wasm
- Domain
- performance, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100