我正在寻找一种算法,以最小的开销实时解压缩数据块(1k-30k)。压缩应该最好快,但不如减压速度重要。
从我能收集到的LZO1X将是最快的。我错过了什么吗?理想情况下,算法不在GPL下。
答案 0 :(得分:5)
lz4就是你在这里寻找的。 p>
LZ4是无损压缩算法,提供压缩速度 每个内核400 MB / s,可通过多核CPU进行扩展。它有一个 极快的解码器,每个核心的速度为多GB / s, 通常达到多核系统的RAM速度限制。
答案 1 :(得分:4)
尝试使用Google的Snappy。
Snappy是一个压缩/解压缩库。它的目标不是最大压缩,也不与任何其他压缩库兼容;相反,它的目标是非常高的速度和合理的压缩。例如,与最快的zlib模式相比,对于大多数输入,Snappy的速度要快一个数量级,但生成的压缩文件大小要高20%到100%。在64位模式的Core i7处理器的单核上,Snappy压缩速度大约为250 MB /秒或更高,并以大约500 MB /秒或更高的速度进行解压缩。
答案 2 :(得分:0)
当您无法使用GPL许可代码时,您的选择很明确 - zlib。非常宽松的许可证,快速压缩,公平压缩比,非常快速的解压缩,可以在任何地方使用,并移植到每种理智的语言。