IPC in Rust – A Ping Pong Comparison

The author explores high-speed inter-process communication (IPC) in Rust, focusing on sending messages between processes executing on the same machine. The goal is to time how long it takes to send a message (“ping”) from one process and receive an acknowledgement (“pong”) from the other. Different communication approaches, like pipes, TCP, UDP, and shared memory, are experimented with. The author delves into the complexities of timing short-duration events and the challenges of synchronizing multiple clocks on a network. Benchmarking is done using Divan, a benchmarking tool aimed at being more ergonomic than Criterion.

https://3tilley.github.io/posts/simple-ipc-ping-pong/

To top