mirror of
https://github.com/loro-dev/loro.git
synced 2025-02-02 11:06:14 +00:00
chore: make bench harder
This commit is contained in:
parent
7191668a65
commit
9c86dae038
1 changed files with 13 additions and 10 deletions
|
@ -5,21 +5,24 @@ use string_tree::{CustomString, StringTreeTrait};
|
||||||
|
|
||||||
pub fn main() {
|
pub fn main() {
|
||||||
let mut tree: RleTree<CustomString, StringTreeTrait> = RleTree::default();
|
let mut tree: RleTree<CustomString, StringTreeTrait> = RleTree::default();
|
||||||
for i in 0..(1e6 as usize) {
|
let len = 1e6 as usize;
|
||||||
tree.with_tree_mut(|tree| {
|
let mut seed = 2;
|
||||||
if i % 3 == 0 && tree.len() > 0 {
|
|
||||||
|
tree.with_tree_mut(|tree| {
|
||||||
|
for i in 0..(len) {
|
||||||
|
seed = (seed * 2) % 10000007;
|
||||||
|
if tree.len() > 100000 {
|
||||||
let start = i % tree.len();
|
let start = i % tree.len();
|
||||||
let len = (i * i) % std::cmp::min(tree.len(), 10);
|
let len = seed % std::cmp::min(tree.len(), 1);
|
||||||
let end = std::cmp::min(start + len, tree.len());
|
let end = std::cmp::min(start + len, tree.len());
|
||||||
tree.delete_range(Some(start), Some(end))
|
tree.delete_range(Some(start), Some(end))
|
||||||
} else if tree.len() == 0 {
|
} else if tree.len() == 0 {
|
||||||
tree.insert(0, "a".to_string().into());
|
tree.insert(0, "0".into());
|
||||||
} else {
|
} else {
|
||||||
tree.insert(i % tree.len(), "a".to_string().into());
|
tree.insert(seed % tree.len(), "a".into());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
tree.debug_check();
|
println!("{} op, with tree size of {}", len, tree.len());
|
||||||
});
|
});
|
||||||
}
|
|
||||||
println!("1M");
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue