[][src]Crate bit_long_vec

Vector with fixed bit sized values stored in long.

Effective to reduce the amount of memory needed for storage values whose size is not a power of 2. As drawback to set and get values uses additional CPU cycles for bit operations.


In this particular scenario, we want to store 10 bit values. It takes 200 bytes to store 100 values using short. To store 100 values using a bit long vector, 15 lengths are required, which is 120 bytes (-40%).

use bit_long_vec::BitLongVec;

let mut vec = BitLongVec::with_fixed_capacity(100, 10);

for index in 0..100 {
    vec.set(index, 1023);
    assert_eq!(vec.get(index), 1023);