Open dumblob opened 2 years ago
Any notion how does this perform compared to state of the art ring buffers?
Any notion of what "state of the art" ring buffers you are referring to ?
These projects use IMHO state of the art "multithreaded" queues:
https://github.com/pramalhe/ConcurrencyFreaks
https://github.com/mratsim/weave (e.g. https://github.com/mratsim/weave/pull/21 )
http://daugaard.org/blog/writing-a-fast-and-versatile-spsc-ring-buffer
http://www.vitorian.com/x1/archives/370
Also the queue size might be between the size of L1 and 2*L2 cache as suggested in paragraph 3.3 in Analyzing Efficient Stream Processing on Modern Hardware.
...and others I don't remember their names this quickly
Hi,
This project I implemented by referencing an atomic collection book. I have no idea about what state of art means.
If you said Multithreaded Testing, I guess you are looking for this functional test?
https://github.com/Taymindis/lfqueue/blob/e095b6727ae5f5729b11747b7d682c9c2ec8330e/example.c#L187
However, the lfqueue is using ttl to free the node, it might be risky. I will always be suggesting not to use for production env.
Any notion how does this perform compared to state of the art ring buffers?