2 个版本

0.1.1 2023年5月22日
0.1.0 2023年5月22日

#407压缩

Download history 37/week @ 2024-03-24 17/week @ 2024-03-31 85/week @ 2024-06-09 4/week @ 2024-06-16

89 每月下载次数

MIT 许可协议

34KB
543 代码行

Rust 流 VByte 编码/解码器

此库提供了 Stream VByte 编码的编码/解码原语。

Stream VByte 编码是一种 SIMD 加速的 VarInt 解压缩算法。它被用于搜索和数据库系统中,作为从磁盘或主内存中高效存储和流式传输大量 VarInt 的方法。

基准测试结果

CPU 基本频率 (GHz) 超频频率 (GHz) 结果 (GElem/s)
Xeon E3-1245 v5 3.5 3.9 5.0
Core i7-1068NG7 2.3 4.1 5.5

VarInt 的理念不是存储数字的前导零字节。这样,大量的相对较小的数字可以以更紧凑的方式存储。如果数字按升序存储,VarInt 编码通常与 delta 编码一起使用。这样,所有数字的大小都减小,因此压缩效果更好。

Stream VByte 使用两个数据流:控制流和数据流。控制流包含控制字(每个1字节)。每个控制字描述数据流中4个数字的长度(每个数字2位,00 - 长度1,01 - 长度2,以此类推)。

无运行时依赖项