SPSCQueue icon indicating copy to clipboard operation
SPSCQueue copied to clipboard

A bounded single-producer single-consumer wait-free and lock-free queue written in C++11

Results 13 SPSCQueue issues
Sort by recently updated
recently updated
newest added

such as https://github.com/cameron314/readerwriterqueue ; it would be interesting to have a complete set of benchmarks for SPSC queues like https://max0x7ba.github.io/atomic_queue/html/benchmarks.html does for MPMC queues

allow allocator to provide custom construction and destruction

Hi! I've been using SPSCQueue for some time and just updated to the latest version and now hit this: ``` SPSCQueue.hpp:188: void Rigtorp::SPSCQueue::pop() [with T = PacBio::CCS::Chunk; Allocator = std::allocator]:...

readIdx_.store(nextReadIdx, std::memory_order_release); while ( nextWriteIdx == readIdxCache_ ) { readIdxCache_ = readIdx_.load(std::memory_order_acquire); } replace (std::memory_order_release ,std::memory_order_acquire) with (std::memory_order_relax)?

Hi there, I'm trying to use your awesome queue to do inter-process shared memory communication on linux. I think it can be done with some modification to the huge page...

First of all, kudos to your cache-aware indices. Though the underlying logic is not obvious (!), it does work and improves performances. Two small things, not new to version 1.1:...

https://jira.mongodb.org/browse/SERVER-44270 only issue i can find that is related to this `__cpp_lib_hardware_interference_size` is defined even though `std::hardware_destructive_interference_size` is not found when using set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) this does not occur...

Marking as system headers prevents the compiler from emitting warnings from these headers.

It it possible to tweak this such that the `push` methods do not block when full, but instead pop from the other end like a classic ring buffer? If it...

I'm curious why the cached indices are themselves cache line aligned. Every time you load the write index you also load the cached read index. The same is also true...