dyn-future 2.0.0

Convenient and fast dynamic Futures for Rust.
Documentation
use criterion::{criterion_group, criterion_main, Criterion, black_box};
use futures::future::{self, FutureExt};
use rayon::prelude::*;
use dyn_future::DynFuture;

fn run_boxed(n: u64) -> Vec<DynFuture<u64>> {
    (0..131072).into_par_iter().map(|_| DynFuture::new(future::ready(n).then(|n| future::ready(n * 2)))).collect()
}

fn criterion_benchmark(c: &mut Criterion) {
    c.bench_function("dyn-future", |b| b.iter(|| run_boxed(black_box(20))));
}

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