中文

Stream VByte:更快的面向字节整数压缩

信息检索 2017-10-11 v2 数据库

摘要

整数数组在搜索引擎中经常被压缩。虽然压缩整数的方法有很多,但我们关注流行的面向字节整数压缩技术(例如 VByte 或 Google 的 Varint-GB)。由于其简单性和工程便利性,它们很有吸引力。Amazon 的 varint-G8IU 是迄今为止发表的最快的面向字节压缩技术之一。它明智地利用了商用处理器中强大的单指令多数据 (SIMD) 指令。为了超越 varint-G8IU,我们提出了 Stream VByte,一种将控制流与编码数据分离的新型面向字节压缩技术。与 varint-G8IU 一样,Stream VByte 非常适合 SIMD 指令。我们表明,在真实数据集上 Stream VByte 解码速度最高可达 varint-G8IU 解码速度的两倍。在这个意义上,Stream VByte 创立了面向字节整数压缩的新速度记录,有时甚至超过了 memcpy 函数的速度。在 3.4GHz Haswell 处理器上,它每秒可从 RAM 解码超过 40 亿个差分编码整数到 L1 缓存。

关键词

引用

@article{arxiv.1709.08990,
  title  = {Stream VByte: Faster Byte-Oriented Integer Compression},
  author = {Daniel Lemire and Nathan Kurz and Christoph Rupp},
  journal= {arXiv preprint arXiv:1709.08990},
  year   = {2017}
}