2 dépôts
Data structures specialized for single-producer single-consumer scenarios to eliminate atomic operation overhead.
Distinct from Single-Node Processing: Distinct from Single-Node Processing: focuses on thread-count specialization for data handoff rather than node-level execution.
Explore 2 awesome GitHub repositories matching data & databases · Single-Writer-Single-Reader Optimizations. Refine with filters or upvote what's useful.
The Disruptor is a lock-free inter-thread messaging library and high-performance event bus. It implements a concurrent ring buffer designed for high-concurrency and low-latency message sequencing. The project utilizes a specific messaging architecture to eliminate lock contention, enabling high-throughput event routing and the exchange of continuous event streams between threads. It ensures strict first-in-first-out ordering and immediate data visibility across processing threads. The library provides capabilities for lock-free data streaming, sequential data ordering, and sequence-based eve
Uses a sequence claiming mechanism to allow multiple producers to write to the buffer without contention.
JCTools is a Java concurrency library providing a collection of lock-less and wait-free data structures. It serves as a toolkit for managing thread-safe data exchange, specifically designed to optimize high-throughput messaging and producer-consumer patterns in multi-threaded applications. The library distinguishes itself by implementing specialized queue structures that minimize contention and maximize throughput. By utilizing techniques such as cache-line padding, memory-barrier-based synchronization, and relaxed-consistency memory ordering, it avoids the performance bottlenecks often assoc
Specializes data structures for single-writer-single-reader scenarios to eliminate atomic operation overhead on the fast path.