Package: wnpp Severity: wishlist Subject: ITP: concurrentqueue -- industrial-strength lock-free queue for C++ Package: wnpp Owner: Steffen Moeller <moel...@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