BitMagic v.7.2.0 focuses on improving compression of bit-transposed vectors.
Continued effort to provide more optimized version for ARM CPU.
bm::bvector<>bit-vector left-right shifting for better ARM performance. As a low level function this functionality impacts multiple scenarious related to costruction or update of sorted compressed containers.
- Improved compressed container serialization (compression rate). New serialization format takes advantage of Binary Interpolated Coding which results in significant reduction in size of serialized BLOBs. For more detail please visit updated use case for compression of dictionaries here:
Improve memory compact container for strings.
bm::str_sparse_vector<>while it is called "sparse vector" this container demonstrates excellent compression performance on dense vectors.
Performance improvements for
bm::str_sparse_vector<>::const_iterator(up to 2x times faster now).
bm::str_sparse_vector<>::const_iteratorcan now iterate on substrings
- bm::sparse_vector_scanner<>::find_eq_str_prefix(..) - prefix search method for bit-transposed compact containers
- new example on how to use compressed vector functionality (substring iterators, scanner)
- new algorithm for bit-transposed dictionary remapping, it is now based on character frequency analysis and substitution similar to Huffman coding
fixed bug in
bm::str_sparse_vector<>::back_insert_iteratorrelated to processing of NULL-able vectors