-
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 -11%] System.Collections.Tests.Add_Remove_SteadyState<Int32>.ConcurrentQueue #43905
Comments
Tagging subscribers to this area: @eiriktsarpalis, @jeffhandley |
We are also seeing regressions in other similar tests across the same commit diff. I will be posting them below. |
Run Information
Regressions in System.Collections.Concurrent.Count
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Collections.Concurrent.Count<Int32>*' HistogramSystem.Collections.Concurrent.Count.Queue_EnqueueCountDequeue(Size: 512)
DocsProfiling workflow for dotnet/runtime repository |
Run Information
Regressions in System.Threading.Channels.Tests.UnboundedChannelPerfTests
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Threading.Channels.Tests.UnboundedChannelPerfTests*' HistogramSystem.Threading.Channels.Tests.UnboundedChannelPerfTests.TryWriteThenTryRead
DocsProfiling workflow for dotnet/runtime repository |
Run Information
Regressions in System.Collections.Concurrent.Count
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Collections.Concurrent.Count<String>*' HistogramSystem.Collections.Concurrent.Count.Queue_EnqueueCountDequeue(Size: 512)
DocsProfiling workflow for dotnet/runtime repository |
My only guess is that this is related to #38225 |
The change was enabled by default in coreclr in a subsequent commit. Part of the regression may be the same issue as in #44211, I'll take a look. |
I'm not sure which change would have caused the regression. It doesn't seem likely that #38225 would have caused it since the portable thread pool was not enabled in that change, and the tests currently perform similarly with and without it enabled. In any case, the large regressions seem to have recovered in all of the tests above and #46120 seems to have improved the perf in most of the tests above (maybe due to better code gen, not due to the spin-waiting change). |
Run Information
Regressions in System.Collections.Tests.Add_Remove_SteadyState
Historical Data in Reporting System
Repro
Histogram
System.Collections.Tests.Add_Remove_SteadyState.ConcurrentQueue(Count: 512)
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
The text was updated successfully, but these errors were encountered: