Decoding billions of integers per second through vectorization

By Daniel Lemire, Leonid Boytsov. Software, Practice & Experience, 2012

345 citations recorded by the source corpus.

In many important applications—such as search engines and relational database systems—data are stored in the form of arrays of integers. Encoding and, most importantly, decoding of these arrays consumes considerable CPU time. Therefore, substantial effort has been made to reduce costs associated with compression and decompression. In particular, researchers have exploited the superscalar nature of modern processors and single‐instruction, multiple‐data (SIMD) instructions. Nevertheless, we introduce a novel vectorized scheme called SIMD‐BP128⋆ that improves over previously proposed vectorized approaches. It is nearly twice as fast as the previously fastest schemes on desktop processors (varint‐G8IU and PFOR). At the same time, SIMD‐BP128⋆ saves up to 2 bits/int. For even better compression, we propose another new vectorized scheme (SIMD‐FastPFOR) that has a compression ratio within 10% of a state‐of‐the‐art scheme (Simple‐8b) while being two times faster during decoding. © 2013 The Authors. Software: Practice and Experience Published by John Wiley & Sons, Ltd.

Subfields: Artificial Intelligence, Computer Networks and Communications

View Paper: https://www.semanticscholar.org/paper/66713fbcb8d5e48a9eb6425bd7fdbb53751e60b1

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Artificial Intelligence

  1. Jimmy J. Lin
  2. Jamie Callan
  3. Zhuyun Dai
  4. Luyu Gao
  5. Joel M. Mackenzie
  6. Luke Gallagher
  7. David R. Cheriton
  8. Andrew Yates

In Computer Networks and Communications

  1. Matt Crane
  2. Joel M. Mackenzie
  3. Jimmy J. Lin
  4. J. Shane Culpepper
  5. Andrew Trotman
  6. C. Clarke
  7. Roi Blanco
  8. Martin Fuchs

Citations in the corpus