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

Consider Alternatives To DashMap #837

Open
XAMPPRocky opened this issue Oct 23, 2023 · 0 comments
Open

Consider Alternatives To DashMap #837

XAMPPRocky opened this issue Oct 23, 2023 · 0 comments
Labels
area/performance Anything to do with Quilkin being slow, or making it go faster. help wanted Extra attention is needed kind/design Proposal discussing new features / fixes and how they should be implemented priority/high Issues that should be addressed as soon as possible.

Comments

@XAMPPRocky
Copy link
Collaborator

XAMPPRocky commented Oct 23, 2023

(See: xacrimon/dashmap#285)

While doing loadtests and benchmarking, I've noticed a significant amount of time is spent dropping Arcs from read or write references to DashMap. DashMap is great for concurrent access to multiple shards, but our usage is much more "access everything", where we iterate over the whole map, this causes a tonne of extra overhead that I worked around in a commit by just cloning the endpoints into a separate vec as a cache.

We should consider alternatives to dashmap that are much more designed for our usage patterns.

pub struct ClusterMap(DashMap<Option<Locality>, BTreeSet<Endpoint>>);

@XAMPPRocky XAMPPRocky added kind/bug Something isn't working help wanted Extra attention is needed area/performance Anything to do with Quilkin being slow, or making it go faster. kind/design Proposal discussing new features / fixes and how they should be implemented priority/high Issues that should be addressed as soon as possible. and removed kind/bug Something isn't working labels Oct 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/performance Anything to do with Quilkin being slow, or making it go faster. help wanted Extra attention is needed kind/design Proposal discussing new features / fixes and how they should be implemented priority/high Issues that should be addressed as soon as possible.
Projects
None yet
Development

No branches or pull requests

1 participant