smol 0.1.18

A small and fast async runtime
Documentation
use criterion::{black_box, criterion_group, criterion_main, Criterion};
use futures::future;
use smol::Task;

pub fn spawn_benchmark(c: &mut Criterion) {
    std::thread::spawn(|| smol::run(future::pending::<()>()));
    c.bench_function("spawn time", |b| {
        b.iter(|| {
            let x = black_box(5);
            smol::block_on(async {
                Task::spawn(async move {
                    let _ = x + 1;
                })
                .await;
            });
        })
    });
}

criterion_group!(benches, spawn_benchmark);
criterion_main!(benches);