queues 0,0

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

3 years after Unlicense

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

queues.io

queues.io

Queues, all of them. ...

node-mysql-queues

node-mysql-queues

Wraps 'node-mysql' to provide mulitple query queues, allowing support for multip ...

resque-dynamic-queues

resque-dynamic-queues

A resque plugin for specifying the queues a worker pulls from with wildcards, ne ...

low-latency-primitive-concurrent-queues

low-latency-primitive-concurrent-queues

Low latency, lock free, primitive bounded blocking queues backed by an primitive ...

dyno-queues

dyno-queues

Dyno Queues is a recipe that provides task queues utilizing Dynomite. ...


Top Contributors

mstump

Releases

-   0.0.2 zip tar
-   0.0.1 zip tar