Skip to content

Latest commit

 

History

History
58 lines (43 loc) · 1.91 KB

README.md

File metadata and controls

58 lines (43 loc) · 1.91 KB

Benchmarks

Publish-Subscribe

The benchmark quantifies the latency between a Publisher sending a message and a Subscriber receiving it. In the setup, a bidirectional connection is established from process a to b (service name a2b) and back (service name b2a). Subscribers employ multithreaded busy waiting and promptly respond upon message reception. This process repeats n times, and the average latency is subsequently computed.

cargo run --bin benchmark-publish-subscribe --release -- --bench-all

For more benchmark configuration details, see

cargo run --bin benchmark-publish-subscribe --release -- --help

Event

The event quantifies the latency between a Notifier sending a notification and a Listener waking up from and responding to it. In the setup, a bidirectional connection is established from process a to b (service name a2b) and back (service name b2a). The Listener employs a blocking wait and wakes up on signal reception to promptly respond with a return signal notification. This process repeats n times, and the average latency is subsequently computed.

cargo run --bin benchmark-event --release -- --bench-all

For more benchmark configuration details, see

cargo run --bin benchmark-event --release -- --help

Queue

The queue quantifies the latency between pushing an element into a queue and acquiring the element in another thread. In the setup, a bidirectional connection is established from process a to b (queue name queue_a2b) and back (queue name queue_b2a). The thread that acquires the queue's element employs a multithreaded busy waiting and promptly respond upon data retrieval. This process repeats n times, and the average latency is subsequently computed.

cargo run --bin benchmark-queue --release

For more benchmark configuration details, see

cargo run --bin benchmark-queue --release -- --help