libatomic-queue0 0.0+git20220518.83774a2-1 (amd64 binary) in ubuntu kinetic
C++11 multiple-
circular buffer with std::atomic. The main design principle these
queues follow is simplicity: the bare minimum of atomic operations,
fixed size buffer, value semantics.
.
The circular buffer side-steps the memory reclamation problem inherent
in linked-list based queues for the price of fixed buffer size. See
Effective memory reclamation for lock-free data structures in C++
for more details.
.
These qualities are also limitations:
.
* The maximum queue size must be set at compile time or construction time.
* There are no OS-blocking push/pop functions.
.
Nevertheless, ultra-low-latency applications need just that and nothing
more. The simplicity pays off, see the throughput and latency benchmarks.
.
Available containers are:
.
* AtomicQueue - a fixed size ring-buffer for atomic elements.
* OptimistAtomicQueue - a faster fixed size ring-buffer for atomic
elements which busy-waits when empty or full.
* AtomicQueue2 - a fixed size ring-buffer for non-atomic elements.
* OptimistAtomicQ
elements which busy-waits when empty or full.
.
These containers have corresponding AtomicQueueB, OptimistAtomicQ
AtomicQueueB2, OptimistAtomicQ
specified as an argument to the constructor.
.
This package contains the dynamic library.
Details
- Package version:
- 0.0+git20220518.83774a2-1
- Status:
- Obsolete
- Component:
- universe
- Priority:
- Optional
Downloadable files
Package relationships
- Depends on: