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

Add block cache to SegQueue-alikes #746

Open
wants to merge 17 commits into
base: master
Choose a base branch
from

Conversation

iriri
Copy link

@iriri iriri commented Oct 17, 2021

Some early discussion and rough benchmarks can be found in #398.

The imprecision of the block cache operations is intentional and seems to be a key part of making this work. As mentioned in #398 (comment), it is very easy for a cache/junkyard to be counterproductive in the average case so I prioritized reducing contention over trying to reuse a block in every possible case. All of my attempts to increase the accuracy of the operations, such as by CAS-ing against null in try_put rather than blindly swapping, have resulted in worse benchmark performance. I have also not seen a positive effect so far from adjusting the size of the block cache in either direction.

This needs more benchmarking, including on architectures other than x86-64.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant