The package allows for processing iterators in parallel.
Synchronously:
use r#loop::parallelize;
let double = |value| 2 * value;
let _ = parallelize(0..10, double, None).collect::<Vec<_>>();
Asynchronously:
use futures::stream::StreamExt;
use r#loop::asynchronous::parallelize;
let double = |value| async move { 2 * value };
let _ = parallelize(0..10, double, None).collect::<Vec<_>>().await;
Your contribution is highly appreciated. Do not hesitate to open an issue or a pull request. Note that any contribution submitted for inclusion in the project will be licensed according to the terms given in LICENSE.md.