Performance boost?
This commit is contained in:
10
src/lib.rs
10
src/lib.rs
@@ -253,10 +253,14 @@ impl<'a> ops::Sub<&'a BitSet> for &'a BitSet {
|
|||||||
fn sub(self, rhs: &'a BitSet) -> BitSet {
|
fn sub(self, rhs: &'a BitSet) -> BitSet {
|
||||||
let mut set = self.clone();
|
let mut set = self.clone();
|
||||||
|
|
||||||
for (key, value) in &rhs.blocks {
|
for (key, block) in &mut set.blocks {
|
||||||
let block = set.blocks.entry(*key).or_insert(0);
|
if let Some(value) = rhs.blocks.get(&key) {
|
||||||
|
// let n = block.count_ones();
|
||||||
|
|
||||||
*block &= !value;
|
*block &= !value;
|
||||||
|
|
||||||
|
// set.nbits += (block.count_ones() - n) as usize;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
set.nbits = set.blocks.values().map(|block| block.count_ones()).sum::<u32>() as usize;
|
set.nbits = set.blocks.values().map(|block| block.count_ones()).sum::<u32>() as usize;
|
||||||
|
|||||||
Reference in New Issue
Block a user