OMQ.rs: Pure Rust ร˜MQ. Faster than libzmq. Batteries included for demanding workloads

โš“ Rust    ๐Ÿ“… 2026-06-10    ๐Ÿ‘ค surdeus    ๐Ÿ‘๏ธ 4      

surdeus

OMQ is a wire-compatible ZeroMQ implementation in Rust: a sans-I/O ZMTP codec (omq-proto) with runtime backends (omq-tokio for multi-threaded tokio, omq-compio for io_uring). omq-tokio leads on throughput.

Since the optimization journal post (80k to 9M msg/s), small-message throughput has doubled again to 16M msg/s (turbo off) or ~23M msg/s (turbo on). Large-message throughput improved as well. Recent work focused on PUB/SUB and PUSH/PULL fan-in and fan-out. Measured in Linux VM on a 2018 Mac Mini, performance governor, turbo off.

PUB/SUB TCP:
PUB/SUB TCP

PUSH/PULL fan-in TCP:
PUSH/PULL fan-in TCP

PUSH/PULL fan-out TCP:
PUSH/PULL fan-out TCP

Security mechanisms. BLAKE3ZMQ is experimental; CURVE is RFC 26:

Mechanisms tokio

The experimental BLAKE3ZMQ mechanism runs at about 1/5 the throughput of PLAIN; CURVE at about 1/10.

Compression transports. lz4+tcp:// uses lz4rip, dropping the cc build dependency:

Compression tokio

Crates: omq-proto ยท omq-tokio

1 post - 1 participant

Read full topic

๐Ÿท๏ธ Rust_feed