SkillAgentSearch skills...

Lockfreequeues

Lock-free queue implementations for Nim.

Install / Use

/learn @elijahr/Lockfreequeues
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

build

lockfreequeues

Lock-free queues for Nim, implemented as ring buffers.

Three implementations are provided:

  • Sipsic is a single-producer, single-consumer bounded queue. Pushing and popping are wait-free.
  • Mupsic is a multi-producer, single-consumer bounded queue. Popping is wait-free.
  • Mupmuc is a multi-producer, multi-consumer bounded queue.

API documentation: https://elijahr.github.io/lockfreequeues

Installation

nimble install lockfreequeues

Examples

Examples are located in the examples directory and can be compiled and run with:

nimble examples

Reference

Many thanks to Mamy Ratsimbazafy for reviewing the initial release and offering suggestions.

Contributing

  • Pull requests and feature requests are welcome!
  • Please file any issues you encounter.
  • For pull requests, please see the contribution guidelines.

Running tests

Tests can be run locally with nimble test.

CI runs the test suite for both C and C++ targets on:

  • Linux x86_64 and aarch64
  • macOS x86_64

The test suite is also run with LLVM thread sanitization to check for data races.

View on GitHub
GitHub Stars47
CategoryDevelopment
Updated1mo ago
Forks5

Languages

Nim

Security Score

95/100

Audited on Feb 12, 2026

No findings