dotnet / dotnet/perf-autofiling-issues
[Perf] Linux/x64: 95 Improvements on 6/18/2026 7:52:57 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 | [d72d2fcf29301c5f9fe2c7188c90df93b0730989](https://github.com/dotnet/runtime/commit/d72d2fcf29301c5f9fe2c7188c90df93b0730989)
Compare | [a17debec450d73f9d84e68ca44f63b217f5db49f](https://github.com/dotnet/runtime/commit/a17debec450d73f9d84e68ca44f63b217f5db49f)
Diff | [Diff](https://github.com/dotnet/runtime/compare/d72d2fcf29301c5f9fe2c7188c90df93b0730989...a17debec450d73f9d84e68ca44f63b217f5db49f)
Configs | CompilationMode:wasm, RunKind:micro, RuntimeType:coreclr
### Improvements in System.Tests.Perf_String
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|
- [ToLower - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ToUpper - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ToUpper - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Insert - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IndexOfAny - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Replace_Char - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ToUpper - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Insert - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Interpolation_MultipleArgs - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Replace_Char - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Join_Array - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [IndexerCheckPathLength - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [TrimStart - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Concat_str_str_str - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Replace_String - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Remove_IntInt - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Trim - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ToLower - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Replace_Char - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ToLowerInvariant - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ToUpperInvariant - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [ToLower - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Remove_IntInt - Duration of single invocation]()
- 📝 - [Benchmark Source]()
- [ADX - Test Multi Config Graph]()
|
- [Replace_String - 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]()
[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_String*'
```
### System.Tests.Perf_String.ToLower(s: "test")
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.ToUpper(s: "TEST")
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.ToUpper(s: "test")
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.Insert(s1: "dzsdzsDDZSDZSDZSddsz", i: 7, s2: "Test")
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.IndexOfAny
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.Replace_Char(text: "Hello", oldChar: 'l', newChar: '!')
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.ToUpper(s: "TeSt")
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.Insert(s1: "Test", i: 2, s2: " Test")
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.Interpolation_MultipleArgs(c: '1', s: "Foo")
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.Replace_Char(text: "yfesgj0sg1ijslnjsb3uofdz3tbzf6ysgblu3at20nfab2wei1kxfbvsbpzwhanjczcqa2psra3aacxb67qnwbnfp2tok6v0a58lzfdql1fehvs91yzkt9xam7ahjbhvpd9edll13ab46i74ktwwgkgbi792e5gkuuzevo5qm8qt83edag7zovoe686gmtw730kms2i5xgji4xcp25287q68fvhwszd3mszht2uh7bchlgkj5qnq1x9m4lg7vwn8cq5l756akua6oyx9k71bmxbysnmhvxvlxde4k9maumfgxd8gxhxx4mwpph2ttyox9zilt3ylv1q9s4bopfuoa8qlrzodg2q67sh85wx4slcd6w7ufnendaxai633ove2ktbaxdt2sz6y6mo42473xd274gz833p6hj3mu77c4m4od9e5s8btxleh0efqnu9zj9rwtbk5758lio35b3q426j5fwwq1qyknfedrsmqyfw1m38mkkotdf7n0vr6p3erhy8dkzntr9fwjrslxjgrbegih0n6bpb5bfuy55bu65ce9kejcfifxwpcs05umrsb8kvd64q2iwugbbi7vd35g5ho0rff9rhombgzzaniyq7bbjbqr88jyw4ccgnoyl31of3a5thv0vg08gnrqzxas800hewtw8tnwgw5pav81ntdpdd62689x3iqpc317y82b3e2trbpdzieoxldaz009tz37gqmh4bdp1bv9lnl5s58udb11z0h7i2sdl5nbyhjyfzxwzezmp4qx0i3eyvsd3fg8sryq9jhlvkonnfcvb4snl4mcbimdzg49tzdhqjmfxfcq3p1st6b9x2xyevo17evpqp4yc4f2rm0f26ivr3t2f5m0boc44vituxaovcqy1jrkcs6im2kdu3jvcexx2k76egve63aon5a6nbxss4rcke90npmqp35qluf571ms160y2nhaqef835wah41qru8tauu362v0r8konl8", oldChar: 'b', newChar: '+')
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.Join_Array
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.IndexerCheckPathLength
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.TrimStart(s: " Test")
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.Concat_str_str_str(size: 100)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.Replace_String(text: "This is a very nice sentence. This is another very nice sentence.", oldValue: "a", newValue: "")
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.Remove_IntInt(s: "dzsdzsDDZSDZSDZSddsz", i1: 7, i2: 4)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.Trim(s: " Te st ")
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.ToLower(s: "TeSt")
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.Replace_Char(text: "yfesgj0sg1ijslnjsb3uofdz3tbzf6ysgblu3at20nfab2wei1kxfbvsbpzwhanjczcqa2psra3aacxb67qnwbnfp2tok6v0a58l", oldChar: 'b', newChar: '+')
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.ToLowerInvariant(s: "TeSt")
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.ToUpperInvariant(s: "TeSt")
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.ToLower(s: "TEST")
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.Remove_IntInt(s: "dzsdzsDDZSDZSDZSddsz", i1: 10, i2: 1)
#### ETL Files
#### Histogram
#### JIT Disasms
### System.Tests.Perf_String.Replace_String(text: "This is a very nice sentence. This is another very nice sentence.", oldValue: "a", newValue: "b")
#### 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 benchmark source at src/benchmarks/micro/libraries/System.Runtime/Perf.String.cs, especially the cited ToLower, ToUpper, Insert, IndexOfAny, and Replace_Char ranges. Compare the baseline and test reports for the listed Ubuntu 22.04 WASM configurations, then determine whether the reported improvements need further investigation or triage; the issue provides no specific code change or completion test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, wasm
- Domain
- performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100