20 lines
515 B
Rust
20 lines
515 B
Rust
use criterion::{black_box, criterion_group, criterion_main, Criterion};
|
|
use tracing::{span, Level};
|
|
|
|
mod shared;
|
|
|
|
fn bench(c: &mut Criterion) {
|
|
shared::for_all_recording(&mut c.benchmark_group("span_repeated"), |b| {
|
|
let n = black_box(N_SPANS);
|
|
b.iter(|| (0..n).fold(mk_span(0), |_, i| mk_span(i as u64)))
|
|
});
|
|
}
|
|
|
|
#[inline]
|
|
fn mk_span(i: u64) -> tracing::Span {
|
|
span!(Level::TRACE, "span", i = i)
|
|
}
|
|
|
|
const N_SPANS: usize = 100;
|
|
criterion_group!(benches, bench);
|
|
criterion_main!(benches);
|