Throughput Performance Tests for Queue and Queue-Zero

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

Introduction
We ran a series of  throughput tests using Chronicle Queue. Each test first appended 80M 500 byte messages, then read back all the messages (ie the reads and writes did not overlap). The appends and reads were all performed in a tight loop without any delay between iterations, and the time per 1M reads/writes measured through the duration of the test.

All tests were run on a Xeon E5-2650 v4 @ 2.20GHz, with queues backed by tmpfs. The test thread was pinned to an isolated core.
Results
The results are summarised in the plots below showing:
– The time (in seconds) to append successive blocks of 1M messages
– The time (in seconds) to read successive blocks of 1M messages
followed by the same data plotted as throughput rates:
– The throughput (M msgs/s) when appending successive blocks of 1M messages
– The throughput (M msgs/s) when reading successive blocks of 1M messages
Each plot shows the results of the test with both Java and C++.

Queue – Times per 1M Appends and Reads

Queue - Times per 1M Appends

Queue - Times per 1M Reads

Queue – Message Rate per 1M Appends and Reads

Append Rate

Read rate

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.