Queues Save Abandoned

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

Project README

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
Open Source Agenda is not affiliated with "Queues" Project. README Source: mstump/queues
Stars
171
Open Issues
4
Last Commit
10 years ago
Tags

Open Source Agenda Badge

Open Source Agenda Rating