History of Releases


Jan 26, 2021

Improved XOR compression of succinct sparse vectors. Bug fixes. More


Sept 24, 2020

Improved compression of succinct sparse vectors. Faster const_iterator. More


Sept 9, 2020

Critical bug fix in AND operation, platform specific optimizations for ARM CPU. More


July 30, 2020

Improved compression using Binary Interpolatice Coding. 5-6% better compression rate based on Gov2 corpus of inverted lists. More


May 13, 2020

Rank-Select compressed container improved for fast random access of known elements, compiler and bug fixes. More


April 1, 2020

Rank-Select compressed container improved fast decode functions and const iterator. More


March 8, 2020

New APIs for ranges and intervals, bm::inetrval_enumerator<> for bit-vector traversal as ranges. More


Feb 8, 2020

2-5x faster WebAsm, new bvector<> methods for ranges and inetrvals More


Jan 20, 2020

New serialization, supports bookmarks and range deserialization More


Dec 8, 2019

New algorithm for mismatch search in sparse vectors. More


Nov 28, 2019

Bit-vector search for the first mismatch bit. More


Oct 15, 2019

Support of selective(gather) deserialization of sparse vectors. More


Sept 15, 2019

Support of WebAssemblies. Improved compression in back insert iterators. More


July 20, 2019

Binary Interpolated Encoding of bit-vectors improves compression rate. More


June 26, 2019

64-bit index space support for big data problems. More


March 19, 2019

Implemented set of iterators for bm::str_sparse_vector<> - bit-transposed succinct container for strings More


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