lfqueue icon indicating copy to clipboard operation
lfqueue copied to clipboard

Performance benchmarks

Open dumblob opened this issue 2 years ago • 3 comments

Any notion how does this perform compared to state of the art ring buffers?

dumblob avatar Nov 22 '21 19:11 dumblob

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 ?

sergeyn avatar Nov 23 '21 04:11 sergeyn

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

dumblob avatar Nov 23 '21 13:11 dumblob

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.

Taymindis avatar Nov 27 '21 03:11 Taymindis