Rust·Archived version v0.2.0·

rapidfire

Low-latency in-process async MPMC and MPSC channels for Rust.

The problem

Async tasks and worker consumers need an in-process channel with a choice of bounded or unbounded capacity. rapidfire provides MPMC channels and exclusive-receiver MPSC channels, including async futures and optional MPSC recv_many batching.

Example uses

01. Batched task fan-in

Multiple tasks can feed one exclusive MPSC receiver that uses batched receive.

02. Bounded capacity

Use a bounded channel when producers should wait for available capacity.

03. Competing consumers

MPMC workers compete for messages, and each message is received once rather than broadcast.

Where it fits

rapidfire is an in-process Rust channel. Its waiter lists and recycling pool use mutexes, and allocated blocks remain until channel destruction.

Get started

rapidfire = "0.2"

Add the dependency to Cargo.toml, then use the README for complete examples.

Authoritative installation steps, architecture diagrams, and full configuration references are maintained in the repository:
Read the rapidfire README on GitHub →

Read the current v0.2.0 performance report →

Limitations

  • In-process only.
  • The MPSC receiver is exclusive.
  • Choose bounded capacity and measure the workload.
  • Throughput does not imply p99 latency; see the current performance report in the repository.

Cite this software

Alexander Panasenko (2026). rapidfire: Low-latency async MPMC channel for Rust (v0.2.0). Zenodo. https://doi.org/10.5281/zenodo.23028434

This record reflects the archived software version deposited on Zenodo for citation and reproducibility, which may differ from subsequent development releases.