# Loole 0.6.0: Improved correctness, performance and Flume compatibility

**URL:** <https://users.rust-lang.org/t/loole-0-6-0-improved-correctness-performance-and-flume-compatibility/143036>\
**Category:** announcements\
**Created:** [October 14, 2026, 4:28pm UTC](https://users.rust-lang.org/t/loole-0-6-0-improved-correctness-performance-and-flume-compatibility/143036 "2026-10-14T16:28:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![mahdi-shojaee](https://sea1.discourse-cdn.com/flex019/user_avatar/users.rust-lang.org/mahdi-shojaee/32/9815_2.png) [@mahdi-shojaee](https://users.rust-lang.org/u/mahdi-shojaee)\
**Post date:** [October 14, 2026, 4:28pm UTC](https://users.rust-lang.org/t/loole-0-6-0-improved-correctness-performance-and-flume-compatibility/143036/1 "2026-10-14T16:28:34Z")

</div>

Hi everyone!

I've recently released a new version of [Loole](https://github.com/mahdi-shojaee/loole), a Rust channel crate that supports multiple producers and multiple consumers, with both synchronous and asynchronous send/receive operations.

The main focus of this release and the recent development work has been **correctness, API compatibility, and performance**.

### What's improved?

- **Correctness and testing:** I've fixed several bugs and added more tests, especially around edge cases. Loole now passes the Flume tests covering the APIs that it implements.

- **Flume API compatibility:** I've added more APIs to make Loole more compatible with [Flume](https://github.com/zesterer/flume), making it easier to work with if you're already familiar with Flume's API.

- **Performance:** I've continued optimizing the channel implementation and its send/receive paths. I've also expanded the benchmarking setup so the performance of different channel configurations can be evaluated and compared.

### What is Loole?

Loole is a safe sync/async MPMC channel crate with:

- Bounded, unbounded, and rendezvous channels.

- Blocking and asynchronous send/receive operations.

- No `unsafe` code (`#![forbid(unsafe_code)]`).

- A familiar API, with compatibility with Flume as one of its goals.

### Links

- **Repository:** [GitHub - mahdi-shojaee/loole: A safe sync/async multi-producer, multi-consumer channel · GitHub](https://github.com/mahdi-shojaee/loole)

- **Documentation:** [loole - Rust](https://docs.rs/loole)

- **[Crates.io](http://Crates.io):** [crates.io: Rust Package Registry](https://crates.io/crates/loole)

- **Benchmarks:** [Throughput results](https://github.com/mahdi-shojaee/loole/blob/master/THROUGHPUT-RESULTS.md) · [Latency results](https://github.com/mahdi-shojaee/loole/blob/master/LATENCY-RESULTS.md)

I'd appreciate feedback from people who work with channels and concurrent Rust code. In particular, I'd be interested in hearing about edge cases I may have missed, and benchmark scenarios that better reflect real-world workloads.

Thanks for taking a look!
