You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Perf] Linux/x64: 1 Regression on 7/2/2025 9:07:52 AM +00:00 #117424
The only related call path is List.AddRange -> SZArrayHelper.CopyTo -> Array.CopyTo (fast path). #116903 was focusing on slow path. I'll run more benchmarks tomorrow.
There is a regression in AddChainedConfigurationNoDelimiter, but local difference is smaller than 5%. There's no local regression in AddChainedConfigurationWithCommonPaths.
Activity
DrewScoggins commentedon Jul 8, 2025
Seems like it might be related to #116903
Related Regressions:
dotnet-policy-service commentedon Jul 9, 2025
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas
See info in area-owners.md if you want to be subscribed.
jkotas commentedon Jul 11, 2025
@huoyaoyuan Could you please take a look?
huoyaoyuan commentedon Jul 11, 2025
The only related call path is
List.AddRange->SZArrayHelper.CopyTo->Array.CopyTo(fast path). #116903 was focusing on slow path. I'll run more benchmarks tomorrow.huoyaoyuan commentedon Jul 13, 2025
Basic test results:
Coreclr:
NativeAOT before:
NativeAOT after:
There is a regression in AddChainedConfigurationNoDelimiter, but local difference is smaller than 5%. There's no local regression in AddChainedConfigurationWithCommonPaths.
jkotas commentedon Jul 13, 2025
Does this scenario call Array.Copy? If yes, what are the arguments passed to it?
huoyaoyuan commentedon Jul 13, 2025
The only call stack I can see is via
List<T>.AddRange, which is always invoked withArray.Empty<string>.jkotas commentedon Jul 13, 2025
Is T == string or something else?
huoyaoyuan commentedon Jul 14, 2025
T is always string. However, when the added collection is empty,
CopyToshouldn't be touched. I can't findArray.Copyin profiling trace either.jkotas commentedon Jul 14, 2025
Micro-benchmark noise, no local repro (some local runs even show an improvement - e.g. see #117424 (comment)).
It certainly does not look related to #116903 since this microbenchmark does not exercise the code changed by this PR.
DrewScoggins commentedon Jul 14, 2025
Also, looking at the test history, we see that the value has returned to its previous value.