Skip to content

vmaffione/spscq

Repository files navigation

Fast Single Producer Single Consumer queues

This repository contains the prototype implementation of six Single Producer Single Consumer queues, together with a program to test their performance (spscq) and some example applications (fan and vswitch). The fan application requires netmap (https://github.com/luigirizzo/netmap), unless it is compiled without the WITH_NETMAP definition.

Build the software with

$ make

Then you can run

$ ./spscq -h

to see the test options of the benchmark program.

Supported queues:

  • LQ: original Lamport queue
  • LLQ: lazy Lamport queue
  • BLQ: batched Lamport queue
  • FFQ: FastForward queue
  • IFFQ: Improved FastForward queue
  • BIFFQ: Batched IFFQ

The spscq.h header file contains an inline implementation of all the queues above, and can be easily used by any C/C++ application.

Scientific paper: https://onlinelibrary.wiley.com/doi/full/10.1002/spe.2675

About

Fast Single Producer Single Consumer queues

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published