How to Install and Uninstall atomic-queue-devel.noarch Package on Oracle Linux 8

Last updated: April 26,2024

1. Install "atomic-queue-devel.noarch" package

Learn how to install atomic-queue-devel.noarch on Oracle Linux 8

$ sudo dnf update $ sudo dnf install atomic-queue-devel.noarch

2. Uninstall "atomic-queue-devel.noarch" package

This guide let you learn how to uninstall atomic-queue-devel.noarch on Oracle Linux 8:

$ sudo dnf remove atomic-queue-devel.noarch $ sudo dnf autoremove

3. Information about the atomic-queue-devel.noarch package on Oracle Linux 8

Last metadata expiration check: 6:33:44 ago on Mon Sep 12 02:51:38 2022.
Available Packages
Name : atomic-queue-devel
Version : 1.0
Release : 2.el8
Architecture : noarch
Size : 23 k
Source : atomic-queue-1.0-2.el8.src.rpm
Repository : epel
Summary : Development files for atomic-queue
URL : https://github.com/max0x7ba/atomic_queue
License : MIT
Description : C++14 multiple-producer-multiple-consumer lockless queues based on circular
: buffer with std::atomic.
:
: The main design principle these queues follow is minimalism: the bare minimum
: of atomic operations, fixed size buffer, value semantics.
:
: These qualities are also limitations:
:
: • The maximum queue size must be set at compile time or construction time.
: 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.
: Fixed buffer size may not be that much of a limitation, since once the
: queue gets larger than the maximum expected size that indicates a problem
: that elements aren’t processed fast enough, and if the queue keeps growing
: it may eventually consume all available memory which may affect the entire
: system, rather than the problematic process only. The only apparent
: inconvenience is that one has to do an upfront back-of-the-envelope
: calculation on what would be the largest expected/acceptable queue size.
: • There are no OS-blocking push/pop functions. This queue is designed for
: ultra-low-latency scenarios and using an OS blocking primitive would be
: sacrificing push-to-pop latency. For lowest possible latency one cannot
: afford blocking in the OS kernel because the wake-up latency of a blocked
: thread is about 1-3 microseconds, whereas this queue’s round-trip time can
: be as low as 150 nanoseconds.
:
: Ultra-low-latency applications need just that and nothing more. The minimalism
: 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.
:
: Totally ordered mode is supported. In this mode consumers receive messages in
: the same FIFO order the messages were posted. This mode is supported for push
: and pop functions, but for not the try_ versions. On Intel x86 the totally
: ordered mode has 0 cost, as of 2019.
:
: Single-producer-single-consumer mode is supported. In this mode, no
: read-modify-write instructions are necessary, only the atomic loads and stores.
: That improves queue throughput significantly.
:
: The atomic-queue-devel package contains libraries and header files for
: developing applications that use atomic-queue.