saturn
saturn copied to clipboard
More lockfree structures
Below is a list of OCaml 5 lockfree data structures done by some awesome hackers. These were done either out of curiosity, or due to the needing them for applications. In any case, it would be nice to upstream these structures to lockfree
. This would involve writing qcheck
or alcotest
, and dscheck
tests for these structures. (@lyrm @bartoszmodelski feel free to add more details about upstreaming part).
Data Structure | Link |
---|---|
Concurrent Trie | https://github.com/ocaml-bench/sandmark/pull/181/files |
MPSC Queue | https://github.com/haesbaert/ocaml-mpsc |
MPMC Unbounded Queue | https://github.com/ocaml-multicore/lockfree/pull/35 |
Lockfree Stack | https://github.com/bartoszmodelski/ebsl/blob/main/datastructures/stack.ml |
Paradict | https://github.com/ElectreAAS/Paradict |
Lockfree sets and Maps | https://github.com/art-w/mcavl |
List | https://github.com/ocaml-multicore/lockfree/blob/old/src/lf_list.ml |
Bag | https://github.com/ocaml-multicore/lockfree/blob/old/src/lf_bag.ml |
Containers Lock free Queue | https://github.com/c-cube/ocaml-containers/blob/wip-lfqueue/src/lf_queue/containers_lfqueue.ml#L3-L58 |
SkipMap | https://github.com/ocaml-multicore/dscheck/blob/skipmap/src/lf_skipmap.ml |
You rang? -> #49 :)