| 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); |