-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Perf -22%] System.Collections.AddGivenSize<Int32>.SortedList #39112
Comments
Tagging subscribers to this area: @eiriktsarpalis |
This test primarily stresses Array.Copy. runtime/src/libraries/System.Collections/src/System/Collections/Generic/SortedList.cs Lines 670 to 671 in d40d32b
The regression apparently occurred between Oct 29 and Nov 4th . On Nov 2nd, we rewrote Array.Copy in C# (dotnet/coreclr#27634) There was actually a followup PR to replace some overloads of Array.Copy with others that touched SortedList on Nov 4th (dotnet/corefx#42343) but it does not affect the tested codepath. cc @jkotas |
Duped a bunch of tests that all stress Array.Copy and regressed at the same time. Per comments from @stephentoub in some of these, it may be bimodal, or configuration dependent. |
Memory copying has very complex perf characteristics. Any change will make some cases faster in some situations and some other cases slower in other situations. I do not think there is much we can do here. |
OK, I am going to close this. Realistically if you are doing this in a hot code path, you would want to consider using a different datastructure . Instead of cc area owners @layomia @eiriktsarpalis |
Run Information
Regressions in System.Collections.AddGivenSize
Related Issue on x86 Windows
[Perf -12%] System.Collections.AddGivenSize.SortedList
Historical Data in Reporting System
Repro
Histogram
System.Collections.AddGivenSize.SortedList(Size: 512)
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
The text was updated successfully, but these errors were encountered: