[Debian-med-packaging] Bug#963992: ITP: concurrentqueue -- industrial-strength lock-free queue for C++
Steffen Moeller
moeller at debian.org
Mon Jun 29 22:10:16 BST 2020
Package: wnpp
Severity: wishlist
Subject: ITP: concurrentqueue -- industrial-strength lock-free queue for C++
Package: wnpp
Owner: Steffen Moeller <moeller at debian.org>
Severity: wishlist
* Package name : concurrentqueue
Version : 1.0.1
Upstream Author : , Cameron Desrochers
* URL : https://github.com/cameron314/concurrentqueue/tags
* License : BSD|Boost
Programming Lang: C
Description : industrial-strength lock-free queue for C++
Features
* Knock-your-socks-off blazing fast performance.
* Single-header implementation. Just drop it in your project.
* Fully thread-safe lock-free queue. Use concurrently from any number
of threads.
* C++11 implementation -- elements are moved (instead of copied)
where possible.
* Templated, obviating the need to deal exclusively with pointers --
memory is managed for you.
* No artificial limitations on element types or maximum count.
Memory can be allocated once up-front, or dynamically as needed.
* Fully portable (no assembly; all is done through standard C++11
primitives).
* Supports super-fast bulk operations.
* Includes a low-overhead blocking version (BlockingConcurrentQueue).
* Exception safe.
.
Reasons to use
.
There are not that many full-fledged lock-free queues for C++. Boost has
one, but it's limited to objects with trivial assignment operators and
trivial destructors, for example. Intel's TBB queue isn't lock-free,
and requires trivial constructors too. There're many academic papers
that implement lock-free queues in C++, but usable source code is hard
to find, and tests even more so.
.
This queue not only has less limitations than others (for the most part),
but it's also faster. It's been fairly well-tested, and offers advanced
features like bulk enqueueing/dequeueing (which, with my new design, is
much faster than one element at a time, approaching and even surpassing
the speed of a non-concurrent queue even under heavy contention).
Remark: This package is maintained by Debian Med Packaging Team at
https://salsa.debian.org/med-team/concurrentqueue
More information about the Debian-med-packaging
mailing list