Crossfire: High-performance lockless spsc/mpsc/mpmc channels for Rust

Rust devs split: speed freaks vs safety squad over “blazing-fast” Crossfire

TLDR: Crossfire’s new version claims record-speed Rust channels and even warns it can overwhelm some runtimes, nudging ARM users to upgrade Tokio. The crowd is split between cheering the speed and worrying about cancellation safety, with acronym explainers and “too fast for comfort” jokes fueling the thread’s drama.

Crossfire just dropped a turbo-charged update for Rust message channels—the pipes apps use to pass data around—and the community instantly turned into two camps: the speed freaks and the safety squad. The project boasts lock-free channels (no waiting in line) and claims “faster than ever” performance after ditching a dependency and tuning its internals. It even warns it’s now so fast it can stress some async runtimes, with ARM users urged to upgrade Tokio.

Commenters dove right into the chaos. One helpful soul translated the acronym soup—SPSC means one sender/one receiver, MPMC means many-to-many—because yes, we were all pretending to know. Another reader raised the red flag of the week: cancellation safety. They cited the project’s wiki note about a rival channel’s optimization that “makes the async API not cancellation-safe,” wondering if it’s tied to the infamous “future lock” debate. Cue panic emojis and “is fast worth it if it’s flaky?” energy.

Meanwhile, the performance bragging—“no one has gone before”—sparked memes about Crossfire being “so fast your runtime needs a nap.” People cheered the VPS boost trick and the easy benches (hello, cargo bench), but the room stayed divided: speed chasers yelling “bench or it didn’t happen,” safety folks asking “but does it unwind gracefully?” Classic Rust drama, highly caffeinated.

Key Points

  • Crossfire is a lockless Rust channel library supporting SPSC, MPSC, and MPMC in both async and blocking contexts.
  • v2.1 (2025.9) removes crossbeam-channel and uses a modified crossbeam-queue, improving performance for async and some blocking cases.
  • The algorithm relies on spinning and yielding; detect_backoff_cfg() improves performance on single-core/VPS environments.
  • Benchmarks use the Criterion framework and can be run via cargo bench; more data is in the project wiki.
  • Test status shows stability across x86_64 and ARM for most runtimes, with tokio on ARM requiring upgrade to ≥1.48; Miri has limitations.

Hottest takes

"Because I had to look it up:" — AceJohnny2
"makes [the] async API not cancellation-safe" — enricozb
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.