* Make sure Unpin is implemented for StackListener * Purge the prelude * Remove unused imports from doctests Signed-off-by: John Nunley <dev@notgull.net>
26 lines
621 B
Rust
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);
|