Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A good write up, but a preallocated MPMC queue can be built without using CAS on every push and without fixed size slots and without multiple rings.

While even SPSC ring buffers are simple they are not particularly efficient in the case where the consumer is keeping up with the producer (the ideal case for a queue) due to all the cacheline ping pong. They are not the lowest latency solution



For those of us not up to date with the state of the art, can you provide references? Very interested!


Martin Thompson, of LMAX Disruptor fame, has I believe a novel solution in Aeron called the logbuffer, which fully formed 10+ years ago in that codebase.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: