You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
631 B

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