sdsl-lite icon indicating copy to clipboard operation
sdsl-lite copied to clipboard

make parameter k in k2 tree completely constant

Open tetzank opened this issue 8 years ago • 0 comments

This enables the compiler to optimize for k values which are a power of two, getting rid of expensive div and imul instructions. Many loops get unrolled as well.

The private member variable k_k was preventing it as k_k is not constant, e.g., loading from istream sets it. This is also the only "lost" functionality, unserialize from a file without knowing the value k before. All other assignments, like in copy-ctor and operator=(), don't make any sense as one can only call them with the same type which implies the same k.

tetzank avatar Oct 05 '17 17:10 tetzank