Queue C++ Optimisation on Linux

Benchmarks have a natural lifespan that can be improved with more modern hardware. This benchmark was performed on July 13, 2020. Please don’t hesitate to contact us if you have questions about how Chronicle Queue C++ will perform today.

Our development team have been working on improving the performance of Chronicle Queue C++ by optimising how we work with some features in the Linux mmap. Linux mmap supports a MAP_POPULATE option which prefaults page tables on initial mapping, working with this function has allowed us to show improved control across all percentiles and particularly at the higher percentile.

The benchmark below measures end to end write-read data between 2 processes sharing a 256MB block size queue with 2 million messages written at a rate of 100,000 messages per second for message sizes ranging between 8 to 4096 bytes. The work has been done to ensure that the outliers do not have a significant impact on client applications and we can see that even at the 99.999% percentile Chronicle Queue C++ is still delivering in under 2us

The tests were run on a 2×12 core, E5-2650 v4 @ 2.2GHz, with 128GB memory and cpu isolation

Want access to exclusive Chronicle content?

Hit the button below and join the Chronicle Community on LinkedIn, for free! You'll get exclusive access to blogs, guides, and video content. Join today!

Want more from Chronicle? Subscribe today!

Something went wrong. Please check your entries and try again.