History of Releases
v8.0.0
July 1, 2024New serialization format for bit-vectors and sparse vectors. Better compression, backward compatible (new code can read old vectors). More
v7.13.4
May 12, 2023Bug fixes, new functionality for swapping bits. More
v7.12.3
July 14, 2022Bug fixes and optimization of compressive string binary search, aggregator, etc. More
v7.11.2
Apr 17, 2022Bug fixes and optimizations for immutable vectors. More
v7.10.3
Feb 14, 2022Implemented immutable vectors and improved rank-select compressive vector. More
v7.9.3
Jan 06, 2022Improved APIs for succinct vectors, optimizations, fixed bugs in NULL-able string vector. More
v7.8.0
Nov 28, 2021Set of new index-free search methods on compressive memory vectors. SSE2 optimizations, first release of ARM NEON optimizations. More
v7.7.7
Nov 12, 2021
OR-AND fused operation for bit-vectors and pipelines.
Major bm::aggregator<>
improvements to auto-tune searches for L2 cache size.
More
v7.6.0
Oct 17, 2021
Major bm::scanner<>
improvements to support pipelined bulk searches.
More
v7.5.0
Sept 12, 2021Support for signed integer types, string sparse vector resizes string length automatically, C++ 17. More
v7.4.0
July 4, 20213-valued logic on bit-vectors. WebAssembly SIMD support. Bug fixes. More
v7.3.0
Jan 26, 2021Improved XOR compression of succinct sparse vectors. Bug fixes. More
v7.2.0
Sept 24, 2020Improved compression of succinct sparse vectors. Faster const_iterator. More
v7.1.0
Sept 9, 2020Critical bug fix in AND operation, platform specific optimizations for ARM CPU. More
v7.0.0
July 30, 2020Improved compression using Binary Interpolatice Coding. 5-6% better compression rate based on Gov2 corpus of inverted lists. More
v6.4.0
May 13, 2020Rank-Select compressed container improved for fast random access of known elements, compiler and bug fixes. More
v6.3.0
April 1, 2020Rank-Select compressed container improved fast decode functions and const iterator. More
v6.2.0
March 8, 2020New APIs for ranges and intervals, bm::inetrval_enumerator<> for bit-vector traversal as ranges. More
v6.1.0
Feb 8, 2020
2-5x faster WebAsm, new bvector<>
methods for ranges and inetrvals
More
v6.0.0
Jan 20, 2020New serialization, supports bookmarks and range deserialization More
v5.4.0
Dec 8, 2019New algorithm for mismatch search in sparse vectors. More
v5.3.0
Nov 28, 2019Bit-vector search for the first mismatch bit. More
v5.2.0
Oct 15, 2019Support of selective(gather) deserialization of sparse vectors. More
v5.1.1
Sept 15, 2019Support of WebAssemblies. Improved compression in back insert iterators. More
v5.0.0
July 20, 2019Binary Interpolated Encoding of bit-vectors improves compression rate. More
v4.0.0
June 26, 201964-bit index space support for big data problems. More
v3.20.0
March 19, 2019
Implemented set of iterators for
bm::str_sparse_vector<>
- bit-transposed succinct container for strings
More
v3.19.0
Jan 16, 2019
Implemented 3-operand logical functions for bvector<>
.
New examples and tutorial for Algebra of Sets.
More
v3.18.0
Dec 26, 2018
String sparse vector for dictionaries str_sparse_vector<>
improved to support succinct remapping
and faster binary and scan searches.
More
v3.17.0
Dec 5, 2018bit-block complexity detection reworked for SSE4.2 and AVX2. First version of string sparse vector for dictionaries. More
v3.16.0
Nov 11, 2018New methods and tools for fast construction of bit-vectors. More
v3.15.0
Oct 28, 2018New shift-right functionality for pattern matching, fused SHIFT-AND fast aggregator, optimizations for AVX2/BMI and SSE4.2 SIMD sets. More
v3.14.5
Oct 5, 2018Optimizations for rank-select operations, implemented SIMD and BMI2 accelerated RS-index. More
v3.14.0
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
v3.13.0
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
v3.12.6
July 20, 2018Major 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
v3.12.0
June 15, 2018Implemented 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
v3.11.0
April 27, 2018Improved 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
v3.10.1
February 11, 2018Apache 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
v3.10.0
January 7, 2018Initial release of AVX2 optimizations, general and SSE4.2 performance improvements, new bvector<>::count_to() method, optimizations of sparse_vector<>. More
v3.9.0
October 28, 2017Better support of C++11 move constructors, minor performance optimizations, initial version of C language libbm library (a lean wrapper on top of C++). More
v3.8.0
September 10, 2017First version of bit transposed sparse vector, minor bug fixes and documentation improvements. More