MPMCQueue.h
disruptorplus
MPMCQueue.h | disruptorplus | |
---|---|---|
2 | 1 | |
1,093 | 108 | |
- | - | |
2.8 | 0.0 | |
about 2 months ago | 12 months ago | |
C++ | C++ | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
MPMCQueue.h
-
MPMC suggestions where messages are sent to all consumers ?
I have looked at the commonly recommended - https://github.com/cameron314/readerwriterqueue - https://github.com/rigtorp/MPMCQueue
-
Correctly implementing a spinlock in Modern C++
You can align and pad each ring buffer slot to the cache line size. Example https://github.com/rigtorp/MPMCQueue/blob/master/include/rig...
disruptorplus
-
MPMC suggestions where messages are sent to all consumers ?
I'm using https://github.com/xenia-project/disruptorplus ( which is forked from https://github.com/lewissbaker/disruptorplus ) with a single producer (multi producer is also possible if I'm correct) it is a (luckily) more bare bones version of the already mentioned Java Disruptor.
What are some alternatives?
moodycamel - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11
OpenCV - Open Source Computer Vision Library
Disruptor - High Performance Inter-Thread Messaging Library
disruptorplus - A disruptor thread-synchronisation data structure for C++11.
abseil-cpp - Abseil Common Libraries (C++)
readerwriterqueue - A fast single-producer, single-consumer lock-free queue for C++
libmill - Go-style concurrency in C
Thrust - [ARCHIVED] The C++ parallel algorithms library. See https://github.com/NVIDIA/cccl
A C++14 library for executors - C++ library for executors
Boost.Compute - A C++ GPU Computing Library for OpenCL
libdill - Structured concurrency in C
HPX - The C++ Standard Library for Parallelism and Concurrency