Skip to content
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

Use LockFreeReaderHashtable for some of the NodeCaches #79805

Merged
merged 2 commits into from
Dec 19, 2022

Conversation

MichalStrehovsky
Copy link
Member

Not replacing everything because the only reason LockFreeReaderHashtable has better perf than ConcurrentDictionary is that the API surface is totally unergonomic. These nodes are the heaviest hitters.

I'm seeing ~4% wallclock time throughput improvement when compiling hello world. (Measured with ILC-compiled ILC, because getting stable-ish TP numbers with CoreCLR-hosted ILC has become impossible).

cc @dotnet/ilc-contrib

Not replacing everything because the only reason this has better perf than `ConcurrentDictionary` is that the API surface is totally unergonomic. These are the heaviest hitters.
@ghost
Copy link

ghost commented Dec 19, 2022

Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas
See info in area-owners.md if you want to be subscribed.

Issue Details

Not replacing everything because the only reason LockFreeReaderHashtable has better perf than ConcurrentDictionary is that the API surface is totally unergonomic. These nodes are the heaviest hitters.

I'm seeing ~4% wallclock time throughput improvement when compiling hello world. (Measured with ILC-compiled ILC, because getting stable-ish TP numbers with CoreCLR-hosted ILC has become impossible).

cc @dotnet/ilc-contrib

Author: MichalStrehovsky
Assignees: -
Labels:

area-NativeAOT-coreclr

Milestone: -

@MichalStrehovsky MichalStrehovsky merged commit a23fe3a into dotnet:main Dec 19, 2022
@MichalStrehovsky MichalStrehovsky deleted the nodecachelockfree branch December 19, 2022 22:33
@ghost ghost locked as resolved and limited conversation to collaborators Jan 19, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants