BSD Ports

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

SystemPortVersion
DragonFlydevel/libcds2.3.3.102_1
FreeBSDdevel/libcds2.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.