dotnet / dotnet/perf-autofiling-issues
[Perf] Linux/x64: 257 Regressions on 7/10/2026 4:12:43 PM +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 | [c369fd627a26b606f36e6b3cbef6f25f3c00bbac](https://github.com/dotnet/runtime/commit/c369fd627a26b606f36e6b3cbef6f25f3c00bbac)
Compare | [2f3204f6e8df27046832bb56afa980a923deaf91](https://github.com/dotnet/runtime/commit/2f3204f6e8df27046832bb56afa980a923deaf91)
Diff | [Diff](https://github.com/dotnet/runtime/compare/c369fd627a26b606f36e6b3cbef6f25f3c00bbac...2f3204f6e8df27046832bb56afa980a923deaf91)
Configs | CompilationMode:wasm, RunKind:micro, RuntimeType:coreclr
### Regressions in System.Globalization.Tests.StringSearch
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [IsSuffix_SecondHalf - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IsSuffix_SecondHalf - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IsSuffix_SecondHalf - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IsSuffix_SecondHalf - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [LastIndexOf_Word_NotFound - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IsSuffix_SecondHalf - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [LastIndexOf_Word_NotFound - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IndexOf_Word_NotFound - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IsSuffix_DifferentLastChar - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IndexOf_Word_NotFound - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IsSuffix_SecondHalf - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [LastIndexOf_Word_NotFound - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IndexOf_Word_NotFound - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IndexOf_Word_NotFound - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IndexOf_Word_NotFound - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IndexOf_Word_NotFound - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IsPrefix_DifferentFirstChar - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IsPrefix_FirstHalf - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IsSuffix_DifferentLastChar - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [LastIndexOf_Word_NotFound - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IsSuffix_DifferentLastChar - 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]()
[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.Globalization.Tests.StringSearch*'
```
### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (, IgnoreCase, True))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, None, True))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (pl-PL, None, False))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, IgnoreCase, True))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, IgnoreSymbols, False))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (, None, True))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (pl-PL, None, False))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (pl-PL, None, False))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (en-US, IgnoreSymbols, False))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, IgnoreSymbols, False))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, IgnoreSymbols, False))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, None, True))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (, None, True))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, IgnoreCase, True))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (, IgnoreCase, True))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, None, True))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, IgnoreSymbols, False))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, IgnoreSymbols, False))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (en-US, None, True))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (, None, True))
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (en-US, IgnoreCase, True))
#### 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 | [c369fd627a26b606f36e6b3cbef6f25f3c00bbac](https://github.com/dotnet/runtime/commit/c369fd627a26b606f36e6b3cbef6f25f3c00bbac)
Compare | [2f3204f6e8df27046832bb56afa980a923deaf91](https://github.com/dotnet/runtime/commit/2f3204f6e8df27046832bb56afa980a923deaf91)
Diff | [Diff](https://github.com/dotnet/runtime/compare/c369fd627a26b606f36e6b3cbef6f25f3c00bbac...2f3204f6e8df27046832bb56afa980a923deaf91)
Configs | CompilationMode:wasm, RunKind:micro, RuntimeType:coreclr
### Regressions in ArrayDeAbstraction
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [foreach_static_readonly_array - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [foreach_member_array - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [foreach_static_readonly_array_via_local - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [foreach_opaque_array_via_interface_in_loop - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [foreach_static_readonly_array_via_interface_property - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [foreach_member_array_via_interface_property - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [foreach_static_readonly_array_in_loop - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [foreach_static_array_via_interface - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [foreach_static_readonly_array_via_interface - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [foreach_static_array - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [foreach_static_array_via_interface_property - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config 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 'ArrayDeAbstraction*'
```
### ArrayDeAbstraction.foreach_static_readonly_array
#### ETL Files
#### Histogram
#### JIT Disasms
### ArrayDeAbstraction.foreach_member_array
#### ETL Files
#### Histogram
#### JIT Disasms
### ArrayDeAbstraction.foreach_static_readonly_array_via_local
#### ETL Files
#### Histogram
#### JIT Disasms
### ArrayDeAbstraction.foreach_opaque_array_via_interface_in_loop
#### ETL Files
#### Histogram
#### JIT Disasms
### ArrayDeAbstraction.foreach_static_readonly_array_via_interface_property
#### ETL Files
#### Histogram
#### JIT Disasms
### ArrayDeAbstraction.foreach_member_array_via_interface_property
#### ETL Files
#### Histogram
#### JIT Disasms
### ArrayDeAbstraction.foreach_static_readonly_array_in_loop
#### ETL Files
#### Histogram
#### JIT Disasms
### ArrayDeAbstraction.foreach_static_array_via_interface
#### ETL Files
#### Histogram
#### JIT Disasms
### ArrayDeAbstraction.foreach_static_readonly_array_via_interface
#### ETL Files
#### Histogram
#### JIT Disasms
### ArrayDeAbstraction.foreach_static_array
#### ETL Files
#### Histogram
#### JIT Disasms
### ArrayDeAbstraction.foreach_static_array_via_interface_property
#### 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 linked performance report and the benchmark source src/benchmarks/micro/libraries/System.Globalization/StringSearch.cs, especially lines 94-108. Compare the baseline and test commits, then identify why the reported regressions occur across the wasm configuration. Done means the cause is understood and the affected benchmark results are validated against the baseline.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, wasm
- Domain
- performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100