Open DrewScoggins opened 2 years ago
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.
Seems related to https://github.com/dotnet/runtime/pull/73475
Tagging subscribers to this area: @dotnet/area-system-memory See info in area-owners.md if you want to be subscribed.
Author: | DrewScoggins |
---|---|
Assignees: | - |
Labels: | `area-System.Memory`, `os-linux`, `tenet-performance`, `tenet-performance-benchmarks`, `arch-x64`, `untriaged`, `os-linux-musl` |
Milestone: | - |
Seems related to https://github.com/dotnet/runtime/pull/73475
I've profiled one of the mentioned test cases:
py .\scripts\benchmarks_ci.py -f net7.0 --filter "System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (, IgnoreCase, False))" --bdn-arguments "--profiler ETW"
Vast majority of CPU exclusive time is spent in StartsWithOrdinalIgnoreCaseHelper which is not using SpanHelpers.SequenceCompareTo
:
Name | Exc % | Exc | Inc % | Inc |
System.Private.CoreLib.il!CompareInfo.StartsWithOrdinalIgnoreCaseHelper | 83.8 | 3,238 | 83.9 | 3,241 |
System.Private.CoreLib.il!CompareInfo.IcuStartsWith | 5.7 | 219 | 89.6 | 3,461 |
microbenchmarks!StringSearch.IsPrefix_FirstHalf | 2.5 | 95 | 96.9 | 3,741 |
System.Private.CoreLib.il!CompareInfo.IsPrefix | 2.3 | 87 | 93.0 | 3,593 |
367a4b5d-3b4d-4e52-8b0c-12f54112f6b2!Runnable_0.WorkloadActionUnroll | 1.7 | 65 | 98.5 | 3,806 |
System.Private.CoreLib.il!CultureInfo.get_CompareInfo | 1.3 | 52 | 1.3 | 52 |
coreclr!JIT_InitPInvokeFrame | 1.2 | 45 | 1.2 | 45 |
Since this method was not modified for a long time (months) it's most likely a codegen issue so I am moving it to codegen area.
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch See info in area-owners.md if you want to be subscribed.
Author: | DrewScoggins |
---|---|
Assignees: | - |
Labels: | `os-linux`, `tenet-performance`, `tenet-performance-benchmarks`, `arch-x64`, `area-CodeGen-coreclr`, `untriaged`, `os-linux-musl` |
Milestone: | - |
cc @dotnet/jit-contrib @EgorBo.
Since this method was not modified for a long time (months) it's most likely a codegen issue so I am moving it to codegen area.
Run Information
Regressions in System.Globalization.Tests.StringSearch
Test Report
Repro
Related Issues
Regressions
Improvements