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