blob: ccad6655e48d7bc82e17f63d48bc3f9fe21f9743 [file] [log] [blame]
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,
)
});
}