Disruptor Pattern : Ultra-Fast Ring Buffer
About
ほぼLock-FreeなRing Buffer
SPMC対応
(M)PMCも可能だが,性能的にはProducerごとにDisruptorを持ち,Consumerで統合すべきらしい
Reference
Implementation
方針
1. Memory Allocationは行わない
実態は$ 2^{radix}個の要素を持つ配列
Power of 2なのでindex = sequence & (size - 1)となる
ここでいうSequenceは符号なし整数
共通
どの実装も以下を提供している:
ring_buffer
sequence