Skip to content

Releases: dk-open/ring

High-Performance Lock-Free Ring-Buffer Queue and Disruptor for Go

15 Jul 14:45

Choose a tag to compare

Release Notes v0.1.2

Initial public release of ring.queue — a lock-free, high-performance, generic ring buffer queue and disruptor for Go.

Features:

  • Features
  • Single-producer, multi-consumer (SPMC) disruptor
  • Each reader gets its own callback and reads concurrently via its own goroutine
  • Advanced ABA-safety: buffer slots only reused after all readers advance
  • Sequence/cursor protocol: physical slot index is derived by sequence >> 1 & mask
  • Efficient adaptive backoff (busy-spin, yield, sleep) for ultra-fast pipelines

Use cases: HFT, event pipelines, real-time queues, and anywhere you need ultra-low latency with predictable performance.


Contributions, feedback are welcome!

High-Performance Lock-Free Ring-Buffer Queue for Go

14 Jul 12:49

Choose a tag to compare

Release Notes v0.1.1

Initial public release of ring.queue — a lock-free, high-performance, generic ring buffer queue for Go.

Features:

  • Fast CAS-based enqueue/dequeue
  • Generic (Go 1.18+)
  • No dependencies
  • Power-of-two capacity
  • False sharing mitigation (cacheline padding)
  • Adaptive busy-spin/exponential backoff
  • SPMC patterns supported

Use cases: HFT, event pipelines, real-time queues, and anywhere you need ultra-low latency with predictable performance.

API:

  • MustEnqueue(item T) error
  • Enqueue(item T) bool
  • Dequeue(f func(item T)) bool

Contributions, feedback are welcome!

High-Performance Lock-Free Ring Buffer Queue for Go

14 Jul 11:53

Choose a tag to compare

Release Description

## Release Notes v0.1.0

Initial public release of `ring.queue` — a lock-free, high-performance, generic ring buffer queue for Go.

**Features:**
- Fast CAS-based enqueue/dequeue
- Generic (Go 1.18+)
- No dependencies
- Power-of-two capacity
- False sharing mitigation (cacheline padding)
- Adaptive busy-spin/exponential backoff
- SPMC patterns supported

**Use cases:** HFT, event pipelines, real-time queues, and anywhere you need ultra-low latency with predictable performance.

**API:**
- `MustEnqueue(item T) error`
- `Enqueue(item T) bool`
- `Dequeue(f func(item T)) bool`

---

Contributions, feedback are welcome!