Loole
A safe async/sync multi-producer multi-consumer channel.
Producers can send and consumers can receive messages asynchronously or synchronously:
sync -> sync
async -> async
sync -> async
async -> sync
Usage
To use Loole, place the following line under the [dependencies]
section in your Cargo.toml
:
= "0.1.8"
Run Benchmarks
Benchmarks measure throughput, which is the number of messages sent and received per second, for messages of 264 bytes each.
To run benchmarks on your local machine, run the following command:
Prior to executing this command, ensure Node.js is installed.
The above command will generate and update the benchmark images in the README.md file.
Benchmark Results
Benchmark results on Intel Core i7-13700K (16/24-core/thread) processor:
MPSC
Measures: Messages per second. (higher is better)
Messages size: 264 bytes.
MPMC
Measures: Messages per second. (higher is better)
Messages size: 264 bytes.
SPSC
Measures: Messages per second. (higher is better)
Messages size: 264 bytes.
License
Loole is licensed under either of:
-
Apache License 2.0, (http://www.apache.org/licenses/LICENSE-2.0)
-
MIT license (http://opensource.org/licenses/MIT)