all options
bullseye  ] [  bookworm  ] [  trixie  ] [  forky  ] [  sid  ]
[ Source: libatomic-queue  ]

Package: libatomic-queue-dev (1.7.1-1)

Links for libatomic-queue-dev

Screenshot

Debian Resources:

Download Source Package libatomic-queue:

Maintainers:

External Resources:

Similar packages:

devel files for C++ atomic_queue library

C++11 multiple-producer-multiple-consumer lockless queues based on 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.
 * OptimistAtomicQueue2 - a faster fixed size ring-buffer for non-atomic
   elements which busy-waits when empty or full.

These containers have corresponding AtomicQueueB, OptimistAtomicQueueB, AtomicQueueB2, OptimistAtomicQueueB2 versions where the buffer size is specified as an argument to the constructor.

Tags: Software Development: Libraries, Role: Development Library

Download libatomic-queue-dev

Download for all available architectures
Architecture Package Size Installed Size Files
amd64 11.3 kB59.0 kB [list of files]
arm64 11.3 kB59.0 kB [list of files]
armel 11.3 kB59.0 kB [list of files]
armhf 11.3 kB59.0 kB [list of files]
i386 11.3 kB59.0 kB [list of files]
ppc64el 11.3 kB59.0 kB [list of files]
riscv64 11.3 kB59.0 kB [list of files]
s390x 11.3 kB59.0 kB [list of files]