mirror of
https://github.com/loro-dev/loro.git
synced 2025-02-06 20:43:24 +00:00
chore: add bench causal iter
This commit is contained in:
parent
cfe86e5dfd
commit
776ca51b95
1 changed files with 52 additions and 1 deletions
|
@ -161,10 +161,61 @@ mod run {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mod import {
|
||||||
|
use criterion::Criterion;
|
||||||
|
use loro_core::{
|
||||||
|
change::ChangeMergeCfg,
|
||||||
|
configure::Configure,
|
||||||
|
log_store::{EncodeConfig, EncodeMode},
|
||||||
|
LoroCore,
|
||||||
|
};
|
||||||
|
|
||||||
|
pub fn causal_iter(c: &mut Criterion) {
|
||||||
|
let mut b = c.benchmark_group("causal_iter");
|
||||||
|
b.sample_size(10);
|
||||||
|
b.bench_function("parallel_500", |b| {
|
||||||
|
let mut c1 = LoroCore::new(
|
||||||
|
Configure {
|
||||||
|
change: ChangeMergeCfg {
|
||||||
|
max_change_length: 0,
|
||||||
|
max_change_interval: 0,
|
||||||
|
},
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Some(1),
|
||||||
|
);
|
||||||
|
let mut c2 = LoroCore::new(
|
||||||
|
Configure {
|
||||||
|
change: ChangeMergeCfg {
|
||||||
|
max_change_length: 0,
|
||||||
|
max_change_interval: 0,
|
||||||
|
},
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Some(2),
|
||||||
|
);
|
||||||
|
let mut text1 = c1.get_text("text");
|
||||||
|
let mut text2 = c2.get_text("text");
|
||||||
|
for _ in 0..500 {
|
||||||
|
text1.insert(&c1, 0, "1").unwrap();
|
||||||
|
text2.insert(&c2, 0, "2").unwrap();
|
||||||
|
}
|
||||||
|
b.iter(|| {
|
||||||
|
c1.decode(
|
||||||
|
&c2.encode(EncodeConfig::new(EncodeMode::Updates(c1.vv()), None))
|
||||||
|
.unwrap(),
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn dumb(_c: &mut Criterion) {}
|
pub fn dumb(_c: &mut Criterion) {}
|
||||||
|
|
||||||
#[cfg(feature = "test_utils")]
|
#[cfg(feature = "test_utils")]
|
||||||
criterion_group!(benches, run::b4, sync::b4);
|
criterion_group!(benches, run::b4, sync::b4, import::causal_iter);
|
||||||
#[cfg(not(feature = "test_utils"))]
|
#[cfg(not(feature = "test_utils"))]
|
||||||
criterion_group!(benches, dumb);
|
criterion_group!(benches, dumb);
|
||||||
criterion_main!(benches);
|
criterion_main!(benches);
|
||||||
|
|
Loading…
Reference in a new issue