Hallo all, I'm looking for some good library, that works with bitsets or bitarrays. Anybody knows something better (or not worse in all cases) then boost::dynamic_bitset? No matter if the library is open source or commercial.
In my project it is a common task to store and work with large bit masks, that contain less number of ones. So they could be compressed well in memory.
There are several implementations of compressed bitvectors available. They usually feature a run length encoding together with and/or/xor/not operations which work on the compressed form.
So the benefits are:
and on the downside:
Some implementations i am aware of (there are others i am sure):
Fastbit Is in fact a database using a bitvector index. The compressed bitvector class can be used directly (without the indexing)
Lemur bitmapindex Another implementation of the EWAH encoding introduced by Fastbit
Compressed bitvector by koen.vandamme Never tried it...but only two headers and a cpp file. So not much effort to give it a try.
Bitmagic Full blown package implementing several compressed bitvectors including hardware support (sse2, ...)
Hope this helps,
Roland
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With