History of Releases


Jan 16, 2019

Implemented 3-operand logical functions for bvector<>. New examples and tutorial for Algebra of Sets. More


Dec 26, 2018

String sparse vector for dictionaries str_sparse_vector<> improved to support succinct remapping and faster binary and scan searches. More


Dec 5, 2018

bit-block complexity detection reworked for SSE4.2 and AVX2. First version of string sparse vector for dictionaries. More


Nov 11, 2018

New methods and tools for fast construction of bit-vectors. More


Oct 28, 2018

New shift-right functionality for pattern matching, fused SHIFT-AND fast aggregator, optimizations for AVX2/BMI and SSE4.2 SIMD sets. More


Oct 5, 2018

Optimizations for rank-select operations, implemented SIMD and BMI2 accelerated RS-index. More


Aug 25, 2018

Initial version of succinct sparse vector bm::rsc_sparse_vector<> New container offers very low memory footprint with ability to access elements and effciently search for data. More


Aug 10, 2018

Implemented a new utility class bm::aggregator<> for fast logic (AND, OR, AND-SUB) operations on groups of vectors. Performance of sparse vector scanner (search) inproved 3x times. More


July 20, 2018

Major optimization of associative remapping using bm::sparse_vector<>. Fixed some crash on empty copy, fixed warnings, added new range based bm::bvector<> range copy constructor and methods. More


June 15, 2018

Implemented const iterator and bult insert iterators for bm::sparse_vector<>. Added new algorithm for search in bm::sparse_vector<>. Performance optimization of AND and SUB logical ops, SIMD optimizations, new method for rank search bm::bvector<>::find_rank(...). More


April 27, 2018

Improved C language mapping, added DLL builds for variants of SIMD acceleration, added auxiliary library for CPU identification. Optimized and functionally improved bm::sparse_vector<> container. bm::bvector<> added new methods to binary increment bits, fast clear bits, improved performance. Added new examples. Cleaned code for better compatibility and less warnings. More


February 11, 2018

Apache 2.0 License, more SSE4.2 and AVX2 optimizatoins, performance improvements to sparse_vector<>, new examples/benchmarks. Improved C library libbm. Better cmake build scripts. More


January 7, 2018

Initial release of AVX2 optimizations, general and SSE4.2 performance improvements, new bvector<>::count_to() method, optimizations of sparse_vector<>. More


October 28, 2017

Better support of C++11 move constructors, minor performance optimizations, initial version of C language libbm library (a lean wrapper on top of C++). More


September 10, 2017

First version of bit transposed sparse vector, minor bug fixes and documentation improvements. More