https://bugzilla.redhat.com/show_bug.cgi?id=2129304 Bug ID: 2129304 Summary: Review Request: moodycamel-readerwriterqueue - A single-producer, single-consumer lock-free queue for C++ Product: Fedora Version: rawhide Hardware: All OS: Linux Status: NEW Component: Package Review Severity: medium Assignee: nobody@xxxxxxxxxxxxxxxxx Reporter: sergey@xxxxxxxxxxxx QA Contact: extras-qa@xxxxxxxxxxxxxxxxx CC: package-review@xxxxxxxxxxxxxxxxxxxxxxx Target Milestone: --- Classification: Fedora Spec: https://download.copr.fedorainfracloud.org/results/snmende/moodycamel-readerwriterqueue/fedora-rawhide-x86_64/04869521-moodycamel-readerwriterqueue/moodycamel-readerwriterqueue.spec SRPM: https://download.copr.fedorainfracloud.org/results/snmende/moodycamel-readerwriterqueue/fedora-rawhide-x86_64/04869521-moodycamel-readerwriterqueue/moodycamel-readerwriterqueue-1.0.6-1.fc38.src.rpm Description: A single-producer, single-consumer lock-free queue for C++ This mini-repository has my very own implementation of a lock-free queue (that I designed from scratch) for C++. It only supports a two-thread use case (one consuming, and one producing). The threads can't switch roles, though you could use this queue completely from a single thread if you wish (but that would sort of defeat the purpose!). Note: If you need a general-purpose multi-producer, multi-consumer lock free queue, I have [one of those too][mpmc]. This repository also includes a [circular-buffer SPSC queue][circular] which supports blocking on enqueue as well as dequeue. Features: - [Blazing fast][benchmarks] - Compatible with C++11 (supports moving objects instead of making copies) - Fully generic (templated container of any type) -- just like `std::queue`, you never need to allocate memory for elements yourself (which saves you the hassle of writing a lock-free memory manager to hold the elements you're queueing) - Allocates memory up front, in contiguous blocks - Provides a `try_enqueue` method which is guaranteed never to allocate memory (the queue starts with an initial capacity) - Also provides an `enqueue` method which can dynamically grow the size of the queue as needed - Also provides `try_emplace`/`emplace` convenience methods - Has a blocking version with `wait_dequeue` - Completely "wait-free" (no compare-and-swap loop). Enqueue and dequeue are always O(1) (not counting memory allocation) - On x86, the memory barriers compile down to no-ops, meaning enqueue and dequeue are just a simple series of loads and stores (and branches)} Fedora Account System Username: snmende Build: https://copr.fedorainfracloud.org/coprs/snmende/moodycamel-readerwriterqueue/build/4869521/ -- You are receiving this mail because: You are on the CC list for the bug. You are always notified about changes to this product and component https://bugzilla.redhat.com/show_bug.cgi?id=2129304 _______________________________________________ package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue