use crate::LatencyTraceJ;
use std::{future::Future, hint::black_box};
pub fn measure_latencies1(lt: LatencyTraceJ) {
black_box(measure_latencies2(lt, || black_box(())));
}
pub fn measure_latencies2(lt: LatencyTraceJ, f: impl FnOnce()) -> usize {
f();
black_box(lt.take_acc_timings().len())
}
pub fn measure_latencies2_tokio<F>(lt: LatencyTraceJ, 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());
})
}