Benchmarks¶
Suite at benchmarks/.
Run¶
Individual benchmarks:
bench_latency.py— one-way publisher→subscriber latency (async).bench_latency_sync.py— raw sync zmq baseline (no asyncio).bench_latency_inproc.py— in-process pub + sync sub + a CPU-bound asyncio neighbour, to expose GIL contention.bench_throughput.py— messages/sec and MB/sec.bench_all.py— full matrix; JSON output via--output.
Reading results¶
- p99 is what matters for real-time workloads; the mean hides jitter.
- For array workloads,
MB/sapproaching memcpy bandwidth means zero-copy transport is working. - Serialization overhead via
inprocsockets withcopy=Falseis reported separately to isolate encode/decode from the network path.