vsync / map

This is a collection of algos that implement map interface.


File Index

File Description Linearizable Lock-free SMR-required
vsync/map/hashtable_standard.h This is a lock-free listset based hashtable. ✔ ✔ ✔
vsync/map/listset_coarse.h This implementation of listset uses one lock to serialize all operations. ✔ ❌ ✔
vsync/map/listset_fine.h This implementation of listset uses fine grained locking. ✔ ❌ ✔
vsync/map/listset_lazy.h This is a partially parallel implementation with lock-free get. ✔ ❌ ✔
vsync/map/listset_lf.h Lock-free implementation of listset. ✔ ✔ ✔
vsync/map/listset_opt.h This implementation is an optimized verison of listset_fine. ✔ ❌ ✔
vsync/map/simpleht.h Simple lock-free hashtable. ✔ ✔ ❌
vsync/map/skiplist_lf.h Lock-free concurrent skiplist. ✔ ✔ ✔
vsync/map/treeset_bst_coarse.h This implementation of treeset uses unbalanced binary search tree (BST) and coarse-grained locking. ✔ ❌ ❌
vsync/map/treeset_bst_fine.h This implementation of treeset uses unbalanced binary search tree (BST) and fine-grained locking. ✔ ❌ ❌
vsync/map/treeset_rb_coarse.h This implementation of treeset uses balanced red-black tree (RB) and coarse-grained locking. ✔ ❌ ❌
vsync/map/treeset_rb_fine.h This implementation of treeset uses balanced red-black tree (RB) and fine-grained locking. ✔ ❌ ❌