Quite an informative talk, @fpikus, thank you.
atomic_queue provides 4 different queues, each with 2 different ways to push or pop -- that's minimum 8 distinct queues with very different performance characteristics to benchmark.
These 8 queues are benchmarked against the top concurrent queues, see https://max0x7ba.github.io/atomic_queue/html/benchmarks.html
Your benchmarks, on the other hand, time some one unspecified atomic_queue, and exclude it completely from throughput scaling line-charts. And your benchmarks report much worse throughput and latency than atomic_queue benchmarks, for all queues benchmarked.
The latter is polished to time exactly the right things in the most robust and reproducible fashion, and anyone can examine the benchmark source code and reproduce its results on their hardware with one simple command line -- the scientific method requires trivial reproducibility.
Would you mind sharing the source code of your benchmarks along with command lines to run them, so that anyone can examine your benchmark source code and reproduce your results, please?
Quite an informative talk, @fpikus, thank you.
atomic_queue provides 4 different queues, each with 2 different ways to push or pop -- that's minimum 8 distinct queues with very different performance characteristics to benchmark.
These 8 queues are benchmarked against the top concurrent queues, see https://max0x7ba.github.io/atomic_queue/html/benchmarks.html
Your benchmarks, on the other hand, time some one unspecified atomic_queue, and exclude it completely from throughput scaling line-charts. And your benchmarks report much worse throughput and latency than atomic_queue benchmarks, for all queues benchmarked.
The latter is polished to time exactly the right things in the most robust and reproducible fashion, and anyone can examine the benchmark source code and reproduce its results on their hardware with one simple command line -- the scientific method requires trivial reproducibility.
Would you mind sharing the source code of your benchmarks along with command lines to run them, so that anyone can examine your benchmark source code and reproduce your results, please?