abrasion/third_party/cargo/vendor/thread_local-1.1.0/benches/thread_local.rs

29 lines
631 B
Rust

extern crate criterion;
extern crate thread_local;
use criterion::{black_box, BatchSize};
use thread_local::ThreadLocal;
fn main() {
let mut c = criterion::Criterion::default().configure_from_args();
c.bench_function("get", |b| {
let local = ThreadLocal::new();
local.get_or(|| Box::new(0));
b.iter(|| {
black_box(local.get());
});
});
c.bench_function("insert", |b| {
b.iter_batched_ref(
ThreadLocal::new,
|local| {
black_box(local.get_or(|| 0));
},
BatchSize::SmallInput,
)
});
}