68 citations · 270 across the 6 of their papers we have counts for
6 papers
Faster Remainder by Direct Computation: Applications to Compilers and Software Libraries
Daniel Lemire, Owen Kaser, Nathan Kurz
On common processors, integer multiplication is many times faster than integer division. Dividing a numerator n by a divisor d is mathematically equivalent to multiplication by the…
Stream VByte: Faster Byte-Oriented Integer Compression
Daniel Lemire, Nathan Kurz, Christoph Rupp
Arrays of integers are often compressed in search engines. Though there are many ways to compress integers, we are interested in the popular byte-oriented integer compression techn…
Roaring Bitmaps: Implementation of an Optimized Software Library
Daniel Lemire, Owen Kaser, Nathan Kurz +4
Compressed bitmap indexes are used in systems such as Git or Oracle to accelerate queries. They represent sets and often support operations such as unions, intersections, differenc…
Faster Population Counts Using AVX2 Instructions
Wojciech Muła, Nathan Kurz, Daniel Lemire
Counting the number of ones in a binary stream is a common operation in database, information-retrieval, cryptographic and machine-learning applications. Most processors have dedic…
Vectorized VByte Decoding
Jeff Plaisance, Nathan Kurz, Daniel Lemire
We consider the ubiquitous technique of VByte compression, which represents each integer as a variable length sequence of bytes. The low 7 bits of each byte encode a portion of the…
SIMD Compression and the Intersection of Sorted Integers
Daniel Lemire, Leonid Boytsov, Nathan Kurz
Sorted lists of integers are commonly used in inverted indexes and database systems. They are often compressed in memory. We can use the SIMD instructions available in common proce…