Skip to content

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