Avoid unnecessary cloning of items when calling SumTree::edit

This commit is contained in:
Antonio Scandurra
2021-04-16 16:16:46 +02:00
parent 09c4d65194
commit 457d945376
3 changed files with 7 additions and 12 deletions
+1 -5
View File
@@ -35,11 +35,7 @@ impl<T: Operation> OperationQueue<T> {
pub fn insert(&mut self, mut ops: Vec<T>) {
ops.sort_by_key(|op| op.timestamp());
ops.dedup_by_key(|op| op.timestamp());
let mut edits = ops
.into_iter()
.map(|op| Edit::Insert(op))
.collect::<Vec<_>>();
self.0.edit(&mut edits);
self.0.edit(ops.into_iter().map(Edit::Insert).collect());
}
pub fn drain(&mut self) -> Self {