use criterion::{black_box, criterion_group, criterion_main, Criterion}; fn bench(c: &mut Criterion) { use std::sync::atomic::{AtomicUsize, Ordering}; let mut group = c.benchmark_group("comparison"); group.bench_function("relaxed_load", |b| { let foo = AtomicUsize::new(1); b.iter(|| black_box(foo.load(Ordering::Relaxed))); }); group.bench_function("acquire_load", |b| { let foo = AtomicUsize::new(1); b.iter(|| black_box(foo.load(Ordering::Acquire))) }); group.bench_function("log", |b| { b.iter(|| { log::log!(log::Level::Info, "log"); }) }); group.finish(); } criterion_group!(benches, bench); criterion_main!(benches);