Closed Centril closed 2 weeks ago
It turns out that the following are all redundant:
BitVec.storage.capacity
BitVec::from_elem
BitVec.nbits
get/set/clear
And the following is too wide:
BitVec.storage.len
2
Having eliminated 22 bytes of 32, we are left with 10 bytes which is just *const u32, u16.
*const u32, u16
It turns out that the following are all redundant:
BitVec.storage.capacity
, never changes once we have allocated withBitVec::from_elem
.BitVec.nbits
does not need to be read in theget/set/clear
paths.And the following is too wide:
BitVec.storage.len
can be reduced to2
bytes.Having eliminated 22 bytes of 32, we are left with 10 bytes which is just
*const u32, u16
.