-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Remove ConcurrentDictionary lookups from Unix socket event loop #109052
Conversation
Tagging subscribers to this area: @dotnet/ncl |
/azp run runtime-libraries-coreclr outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
src/libraries/System.Net.Sockets/src/System/Net/Sockets/SocketAsyncEngine.Unix.cs
Outdated
Show resolved
Hide resolved
When working on overall perf gains we should use the gold machines now, correct. I would suggest to use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the offline chat about it!
The most consistent improvement I see is for platform json on citrine of just over 2%. |
Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it. |
0419e59
to
b193fe3
Compare
I switched the implementation from the non-standard use of "leaked" Running more benchmarks, this is showing a consistent ~3 % RPS improvement for platform Json on citrine. |
There were recent changes in the runtime that triggered a similar improvement on JSON benchmark, please make sure you are only comparing your changes, ideally by rebasing on main or using the latest with your own builds of the changed and unchanged dlls. |
I did, just manually replacing Sockets dlls |
src/libraries/System.Net.Sockets/src/System/Net/Sockets/SocketAsyncEngine.Unix.cs
Show resolved
Hide resolved
src/libraries/System.Net.Sockets/src/System/Net/Sockets/SocketAsyncEngine.Unix.cs
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Running a bunch of different scenarios, this appears to be a slight improvement (<= 1%) on average, but that's below the run-to-run variance for these benchmarks.
@sebastienros is something like
scenarios/platform.benchmarks.yml --scenario plaintext --profile aspnet-gold-lin
reasonable for ASP.NET these days?cc: @tmds @benaadams