Skip to content
This repository has been archived by the owner on Jan 4, 2024. It is now read-only.

Is it intended that HamtMap be Send/Sync? #13

Open
TyOverby opened this issue Sep 14, 2017 · 1 comment
Open

Is it intended that HamtMap be Send/Sync? #13

TyOverby opened this issue Sep 14, 2017 · 1 comment

Comments

@TyOverby
Copy link

As far as I can tell, right now it is neither.

@rrichardson
Copy link

I, too, am interested in being able to make updates (new copies) of the hamt while other threads are reading the data structure. Looking at the implementation, it doesn't appear that it was meant to be written-to and read concurrently. As I understand the persistent hamt implementation, one could maybe leverage hazard pointers at each node to represent the different versions of each subtree.

There is also https://github.com/ballard26/concurrent-hamt which might be a bit outdated, but leverages ideas from Bagwell and Odersky (Scala implementation) and hazard pointers.

Perhaps we can brutally plagarize the concurrent-hamt crate to make this one concurrency friendly. (or maybe it already is and I'm just dense)

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

No branches or pull requests

2 participants