devel/libcds 2.3.3.102_1 DragonFly
C++ library of Concurrent Data Structures
- System
- DragonFly
- Repository
- DPorts
- Maintainer
- [email protected] (as in FreeBSD)
- License
- BSL
- Categories
- devel
- Package size
- 373.5 KiB, 4609.8 KiB installed
Description
The Concurrent Data Structures (CDS) library is a collection of concurrent containers that don't require external (manual) synchronization for shared access, and safe memory reclamation (SMR) algorithms like Hazard Pointer and user-space RCU that is used as an epoch-based SMR.
CDS is mostly header-only template library. Only SMR core implementation is segregated to .so file.
The library contains the implementations of the following containers: * lock-free stack with optional elimination support * several algo for lock-free queue, including classic Michael & Scott algorithm and its derivatives, the flat combining queue, the segmented queue. * several implementation of unordered set/map - lock-free and fine-grained lock-based * flat-combining technique * lock-free skip-list * lock-free FeldmanHashMap/Set Multi-Level Array Hash with thread-safe bidirectional iterator support * Bronson's et al algorithm for fine-grained lock-based AVL tree
Generally, each container has an intrusive and non-intrusive (STL-like) version belonging to cds::intrusive and cds::container namespace respectively.
In the other systems
| System | Port | Version |
|---|---|---|
| DragonFly | devel/libcds | 2.3.3.102_1 |
| FreeBSD | devel/libcds | 2.3.3.102_1 |
Install
Binary package:
pkg install libcds
From DPorts:
cd /usr/dports/devel/libcds && make install clean
Dependencies
No port depends on this one.