event-listener/benches/bench.rs
John Nunley 6e6202b3f1 chore: Polish the implementation of the new API
* Make sure Unpin is implemented for StackListener
* Purge the prelude
* Remove unused imports from doctests

Signed-off-by: John Nunley <dev@notgull.net>
2024-02-03 09:49:22 -08:00

26 lines
621 B
Rust

use std::iter;
use criterion::{criterion_group, criterion_main, Criterion};
use event_listener::{Event, Listener};
const COUNT: usize = 8000;
fn bench_events(c: &mut Criterion) {
c.bench_function("notify_and_wait", |b| {
let ev = Event::new();
let mut handles = Vec::with_capacity(COUNT);
b.iter(|| {
handles.extend(iter::repeat_with(|| ev.listen()).take(COUNT));
ev.notify(COUNT);
for handle in handles.drain(..) {
handle.wait();
}
});
});
}
criterion_group!(benches, bench_events);
criterion_main!(benches);