make signal sync

This commit is contained in:
Evan Almloff committed 2023-10-26 12:47:53 -05:00
1 parent 647815fa6f
commit 1126c1d329
7 files changed
+113 -68

No files matched your search

+24
View File
@@ -0,0 +1,24 @@
#![allow(unused)]
use generational_box::{GenerationalBox, Owner, Store};
use criterion::{black_box, criterion_group, criterion_main, Criterion};
fn create(owner: &Owner) -> GenerationalBox<u32> {
owner.insert(0)
}
fn set_read(signal: GenerationalBox<u32>) -> u32 {
signal.set(1);
*signal.read()
}
fn bench_fib(c: &mut Criterion) {
let store = Store::default();
let owner = store.owner();
c.bench_function("create", |b| b.iter(|| create(black_box(&owner))));
let signal = create(&owner);
c.bench_function("set_read", |b| b.iter(|| set_read(black_box(signal))));
}
criterion_group!(benches, bench_fib);
criterion_main!(benches);