[ANN] DiBitVectors.jl

Hi all,

I’m pleased to announce that, with the help of @Daniel_Berge and one other person whose name has been lost due to Slack’s aggressive message deletion, there’s a new package out there that will help you create very large vectors of very small numbers very easily and very quickly.

DiBitVectors.jl is similar to BitVector but, as the name implies, allows you to store 2-bit values (0b00 – 0b11). This is useful in a few domains (such as graphs and possibly biosequencing) but maybe others can find uses for it as well.

The code is designed to be as fast as possible for random accesses. Sequential accesses are slower than Vector{UInt8} because the latter can take advantage of SIMD. But, of course, DiBitVectors take 1/4 the memory.

Suggestions for performance improvements are greatly appreciated. Also, if you have a use for this, please post below and let me know.

12 Likes