queues 0,0

A public domain lock free queues implemented in C++11

Lock Free Queues

Public domain implementation of four different lock free queues: * SPSC lock free dynamic queue which requires a memory allocation with each insert. * MPSC lock free dynamic queue which requires a memory allocation with each insert. * SPSC wait free bound queue/ring buffer which which uses a fixed size pre-allocated buffer. * MPMC lock free bound queue/ring buffer which which uses a fixed size pre-allocated buffer.

Performance

These number are on my Early 2013 Retina Macbook Pro (2.7 GHz i7). The latency variability of memory allocation can have a signifigant impact on the dynamic queues, sometimes halving throughput.

Queue Throughput
SPSC dynamic 8 million
MPSC dynamic 8 million
SPSC fixed 200 million
MPMC fixed 54 million

Related Repositories

resque

resque

Resque is a Redis-backed Ruby library for creating background jobs, placing them on multiple queues, and processing them later. ...

rq

rq

Simple job queues for Python ...

mapdb

mapdb

MapDB provides concurrent Maps, Sets and Queues backed by disk storage or off-heap-memory. It is a fast and easy to use embedded Java database engine. ...

queues.io

queues.io

Queues, all of them. ...

goque

goque

Persistent stacks, queues, and priority queues for Go backed by LevelDB ...


Top Contributors

mstump

Releases

-   0.0.2 zip tar
-   0.0.1 zip tar