rzmq is a high-performance, asynchronous pure Rust implementation of ZeroMQ (ØMQ) built on Tokio.
Implements the ZMTP 2/3.1 wire protocol with familiar ZeroMQ socket patterns.
Provides dedicated io_uring workers on Linux, allowing individual sockets to opt-in to trade CPU for lower latency and higher throughput.
Delivers stunningly superior throughput and lower latency compared to every other ZeroMQ implementation as shown in high-throughput benchmarks included. No one comes close.
Fast, boring and correct.
TCP Loopback PUSH/PULL Sockets Fan-In, 10-second window, Adaptive Throttling disabled.
Linux release build, AMD Ryzen 5 7640U Balanced Power Profile.
Standard, 4 PUSH | 6.1 M msg/s - 64 B | ~17 GB/s - 32 KB · cork
io_uring/1 worker, 4 PUSH | 6.5 M msg/s - 64 B · cork | 7.9 GB/s - 32 KB · multishot + zerocopy (600 second sustained)
io_uring/4 workers, 8 PUSH | 3.4 M msg/s - 4 KB · multishot | ~17.3 GB/s - 32 KB · multishot + cork
WARNING: Always do your own testing for production use. Benchmarks tell a narrative against one environment and library configuration at a snapshot of time. Never trust any benchmarks especially library comparison benchmarks done over a short duration. Benchmarks are always out of date, unreliable and these numbers are provided as tongue in cheek numbers: No universal guarantees ;).
rzmq is currently in Beta, used in long term Production software.
See core/README.md for full details.
Hi Stakes Markets Game - The world's most advanced financial simulator, available on iPhone and Android.
core/: The mainrzmqlibrary. Seecore/README.mdfor full documentation, installation, API usage, and examples.cli/: Command-line utility for generating Noise_XX keys. Seecli/README.md.bench/: Standalone benchmarking tools. Seebench/.
Please refer to core/README.md for installation instructions, prerequisites, API usage, and examples.
Full results across all patterns and configurations are in bench/docs/:
| Platform | Results |
|---|---|
| Linux (AMD Ryzen 5 7640U) | bench/docs/linux_bench.md |
| macOS (Apple M4) | bench/docs/mac_bench.md |
See the bench/ crate for instructions on running benchmarks yourself.
rzmq is licensed under the Mozilla Public License Version 2.0 (MPL-2.0). You are free to use, modify, and distribute it under the terms of the MPL-2.0, which requires that modifications to MPL-licensed files be made available under the same license.