parail 0.1.1

Easily switch between sequential and parallel.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use futures::StreamExt;
use parail::prelude::*;

#[tokio::main]
async fn main() {
    let stream = futures::stream::iter(0..10);
    let result = stream.par_map_async(do_something).collect::<Vec<_>>().await;
    println!("result: {:?}", result);
}

async fn do_something(n: u64) -> u64 {
    tokio::time::sleep(std::time::Duration::from_secs(1)).await;
    println!("do something: {}", n);
    n + 1
}