Releases: dk-open/ring
Releases · dk-open/ring
High-Performance Lock-Free Ring-Buffer Queue and Disruptor for Go
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
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) errorEnqueue(item T) boolDequeue(f func(item T)) bool
Contributions, feedback are welcome!
High-Performance Lock-Free Ring Buffer Queue for Go
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!