Expand description
Ping-pong latency benchmark using hyperactor channels.
Equivalent to the ZMQ-based Python ping-pong benchmark, but uses hyperactor channels directly. Supports TCP, Unix, and Local transports, as well as duplex mode (single connection, both directions).
Usage:
(no args) run locally (subprocesses for TCP, in-process otherwise)
–duplex run using duplex channels (in-process)
–server [–transport tcp] run as echo server
–client
Structs§
- Bench
Entry 🔒 - Benchmark entry: name, transport, and whether to use duplex.
- Cli 🔒
Enums§
- Message 🔒
Constants§
Functions§
- bench_
ping_ 🔒pong - Run a single in-process ping-pong benchmark, returning total elapsed time.
- bench_
ping_ 🔒pong_ duplex - Quiet duplex ping-pong benchmark for suite mode, returning total elapsed time.
- main 🔒
- run_
client 🔒 - run_
diff 🔒 - Compare two suite CSV files and print a delta table.
- run_
local_ 🔒duplex - Run a duplex benchmark in-process.
- run_
local_ 🔒inprocess - Non-TCP local mode: run server and client as tokio tasks in-process.
- run_
local_ 🔒subprocess - TCP local mode: spawn server and client as separate OS processes.
- run_
server 🔒 - run_
server_ 🔒loop - Echo loop used by the in-process server task.
- run_
suite 🔒 - Run a benchmark suite across transports and message sizes, writing CSV output.
- server_
listen_ 🔒addr - Build a server listen address from the transport and port.