mirror of
https://github.com/meilisearch/MeiliSearch
synced 2025-01-15 07:47:30 +01:00
Merge #5221
5221: Merge bitmaps by using `Extend::extend` r=Kerollmops a=Kerollmops This PR tries to speed up the merging of bitmaps by using [the new `Extend::extend` implementation](https://github.com/RoaringBitmap/roaring-rs/pull/306). Co-authored-by: Clément Renault <clement@meilisearch.com>
This commit is contained in:
commit
247eaed872
@ -679,9 +679,7 @@ impl DelAddRoaringBitmap {
|
|||||||
let del = self.del.get_or_insert_with(RoaringBitmap::new);
|
let del = self.del.get_or_insert_with(RoaringBitmap::new);
|
||||||
let mut iter = bbbul.iter_and_clear();
|
let mut iter = bbbul.iter_and_clear();
|
||||||
while let Some(block) = iter.next_block() {
|
while let Some(block) = iter.next_block() {
|
||||||
let iter = block.iter().copied();
|
del.extend(block);
|
||||||
let block = RoaringBitmap::from_sorted_iter(iter).unwrap();
|
|
||||||
*del |= block;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -689,9 +687,7 @@ impl DelAddRoaringBitmap {
|
|||||||
let add = self.add.get_or_insert_with(RoaringBitmap::new);
|
let add = self.add.get_or_insert_with(RoaringBitmap::new);
|
||||||
let mut iter = bbbul.iter_and_clear();
|
let mut iter = bbbul.iter_and_clear();
|
||||||
while let Some(block) = iter.next_block() {
|
while let Some(block) = iter.next_block() {
|
||||||
let iter = block.iter().copied();
|
add.extend(block);
|
||||||
let block = RoaringBitmap::from_sorted_iter(iter).unwrap();
|
|
||||||
*add |= block;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user