alla flaggor
bullseye  ] [  bookworm  ] [  trixie  ] [  forky  ] [  sid  ]
[ Källkod: libatomic-queue  ]

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

Länkar för libatomic-queue-dev

Screenshot

Debianresurser:

Hämta källkodspaketet libatomic-queue:

Ansvariga:

Externa resurser:

Liknande paket:

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.

Märken: Software Development: Bibliotek, Role: Development Library

Hämta libatomic-queue-dev

Hämtningar för alla tillgängliga arkitekturer
Arkitektur Paketstorlek Installerad storlek Filer
amd64 11,3 kbyte59,0 kbyte [filförteckning]