Skip to content

BitMagic release v7.12.3

Compare
Choose a tag to compare
@tlk00 tlk00 released this 12 Jul 12:56

Release Notes: BitMagic 7.12.3

Bug fixes:

  1. Fixed bugs related to handling of immutable bit-vectors
  2. Fixed bug in Rank-Select index assisted bvector<>::count_to()

New features, optinmizations, improvements:

  1. Implemented sparse vector read-only deserialization.
    bm::sparse_vector_deserializer<>::set_finalization(bm::finalization::READONLY);
    https://github.com/tlk00/BitMagic/tree/master/samples/svsample02

  2. Optimizations: for bvector<>::test( ) membership testing (and changing)
    for GAP compressed blocks. BM implementation uses binary search (ONlogN) for this operation
    with SIMD optimizations (hybrid binary search). The algorithms around this problem were
    reviewed to minimize number of comparisons, better use L1 cache and improve speed.
    Performance gain of 10-20% measured on synthetic tests.

3.Optimizations: bm::aggregator<> SIMD and general purpose optimizations
of aggregate AND-SUB operations. Group AND-SUB operation is at the core of succinct vector
searches, inspired by Bloom filters but uses "data as an index approach"
(works well for bit-sliced succinct vectors).
Latest version adds various optimizations related to SIMD, parallel memory reads,
algorithmically better detection of search reductions.

  1. Optimizations: bm::sparse_vector_scanner<>::bfind_eq_str() -
    binary search in compressive memory vectors of strings.
    Implemented a new index for approximating the search using binary index.
    BM allows to setup a binding between bm::sparse_vector_scanner and a sperse
    vector itself, defining the fraction of elements to keep decompressed for the fast approximated
    search. Maintenance of a index fractionally reduces a memory efficiency, but significantly
    improves the search speed.
    New example was added to the code repo to illustrate the new API.
    https://github.com/tlk00/BitMagic/tree/master/samples/strsvsample08.

Release notes:
http://bitmagic.io/bm-7.12.3.html