Sha256: 9f51cf376414ea751b2f50c357f2435a545d606118286f5b8b89f185e28aad8c
Contents?: true
Size: 925 Bytes
Versions: 39
Compression:
Stored size: 925 Bytes
Contents
use criterion::{black_box, criterion_group, criterion_main, Criterion}; mod shared; fn bench(c: &mut Criterion) { let mut group = c.benchmark_group("empty_span"); shared::for_all_dispatches(&mut group, |b| { b.iter(|| { let span = tracing::span::Span::none(); black_box(&span); }) }); group.bench_function("baseline_struct", |b| { b.iter(|| { let span = FakeEmptySpan::new(); black_box(&span); }) }); } struct FakeEmptySpan { inner: Option<(usize, std::sync::Arc<()>)>, meta: Option<&'static ()>, } impl FakeEmptySpan { fn new() -> Self { Self { inner: None, meta: None, } } } impl Drop for FakeEmptySpan { fn drop(&mut self) { black_box(&self.inner); black_box(&self.meta); } } criterion_group!(benches, bench); criterion_main!(benches);
Version data entries
39 entries across 39 versions & 1 rubygems