This is an automated archive made by the Lemmit Bot.

The original was posted on /r/rust by /u/frostyplanet on 2025-06-27 19:14:29+00:00.


I have just done crossfire v2.0.0 release, which provides high-performance spsc/mpsc/mpmc channels.

It supports async context and can be a bridge between async and blocking contexts.

Implemented with lockless in mind, low-level is based on crossbeam-channel.

docs: https://docs.rs/crossfire/2.0.0/crossfire/index.html

repo: https://github.com/frostyplanet/crossfire-rs

2 years have passed since Crossfire v1.0.0 release. I reviewed the original API and decided that it needs a complete refactor.

I heard about Flume, which also supports both async and blocking contexts. I once doubted the necessity of continuing the development of Crossfire. Afterwards, I did some benchmarks and found our results still very competitive. As more optimization ideas appeared to me, but first, I have to refactor the API, both for better maintenance and easier for users to remember.

Rewrote tests and added benchmarks; the results are on the project wiki.

(reddit seams only allow one picture)

MPMC bounded size 100 async