use crate::LatencyTrace;
use std::{future::Future, hint::black_box};
pub fn measure_latencies1(lt: LatencyTrace) {
black_box(measure_latencies2(lt, || black_box(())));
}
pub fn measure_latencies2(lt: LatencyTrace, f: impl FnOnce()) -> usize {
f();
black_box(lt.0.take_acc_timings().len())
}
pub fn measure_latencies2_tokio<F>(lt: LatencyTrace, f: impl FnOnce() -> F) -> usize
where
F: Future<Output = ()> + Send,
{
measure_latencies2(lt, move || {
tokio::runtime::Builder::new_multi_thread()
.enable_all()
.build()
.expect("tokio runtime error on bench_support::measure_latencies_2")
.block_on(f());
})
}