Boost logo

Boost :

From: Jan Hafer (jan.hafer_at_[hidden])
Date: 2020-03-31 22:41:54


Dear Boost developer,
I found the circular buffer to be slower than std::queue for
multithreading except in the case of a single thread (where it is
notably faster).
I am using resize() to have the expected size filled as in vector.

Is this behavior expected or documented anywhere?
What kind of speedup is to be expected against the std::queue
implementation?
If there is none, then what is the purpose of circular buffer?

I do also have broken code on a multithreaded application that worked
fine before. I do pass the circular buffer as reference via functions
from file scope, which in combination with the threads (initially
starting elsewhere) somehow broke the code.

Do you do regular benchmarks against other implementations? I dont see
linked graphs on your homepage.

Regards,
Jan


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk