17 releases (breaking)

0.13.0 Jun 19, 2024
0.12.0 Jun 2, 2023
0.11.0 Feb 20, 2023
0.9.1 Nov 26, 2022
0.1.1 Mar 5, 2022

#162 in Concurrency

39 downloads per month
Used in 7 crates (6 directly)

Apache-2.0 OR BSL-1.0 OR MIT

29KB
507 lines

Whisk

tests GitHub commit activity GitHub contributors
Crates.io Crates.io Crates.io (recent)
Crates.io Docs.rs

Simple and fast lockless async channels

Simple and fast async channels that can be used to implement futures, streams, notifiers, and actors. Whisk is purposely kept small, implemented in under 1000 lines of Rust code, with zero dependencies (not including feature flags to enable implementation of traits from other crates) - and also works on no_std!

Benchmarks

Naïve benchmarks for v0.10.0 actor on pasts runtime (compared with dynamic library):

Dynamic library: 6ns
Whisk (2-thread): 4.396µs
Flume (2-thread): 4.594µs
Whisk (1-thread): 277ns
Flume (1-thread): 325ns

MSRV

The current MSRV is Rust 1.70.

MSRV is updated according to the Ardaku MSRV guidelines.

License

Copyright © 2022-2024 The Whisk Crate Contributor(s)

Licensed under any of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Help

If you want help using or contributing to this library, feel free to send me an email at aldaronlau@gmail.com.

Dependencies