几个常用快速无损压缩算法性能比较

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

⼏个常⽤快速⽆损压缩算法性能⽐较
⼏个常⽤快速⽆损压缩算法性能⽐较
Snappy
Snappy是在⾕歌内部⽣产环境中被许多项⽬使⽤的压缩库,包括BigTable,MapReduce和RPC等。

⾕歌表⽰算法库针对性能做了调整,⽽不是针对压缩⽐或与其他类似⼯具的兼容性。

在Intel酷睿i7处理器上,其单核处理数据流的能⼒达到250M/s-500M/s。

Snappy同时针对64位x86处理器进⾏了优化,在英特尔酷睿i7处理器单⼀核⼼实现了⾄少250MB/s的压缩性能和500MB/ s的解压缩性能。

Snappy对于纯⽂本的压缩率为1.5-1.7,对于HTML是2-4,当然了对于JPEG、PNG和其他已经压缩过的数据压缩率为1.0。

⾕歌强劲吹捧Snappy的鲁棒性,称其
是“即使⾯对损坏或恶意输⼊也不会崩溃的设计”,并且在⾕歌的⽣产环境中经过了PB级数据压缩的考验⽽稳定的。

官⽅⽹站:
FastLZ
FastLZ是⼀个⾼效的轻量级压缩解压库,其官⽅测试数据如下表:
1GB⽂本数据测试:
官⽅⽹站:
LZO/miniLZO
LZO是⼀个开源的⽆损压缩C语⾔库,其优点是压缩和解压缩⽐较迅速占⽤内存⼩等特点(⽹络传输希望的是压缩和解压缩速度⽐较快,压缩率不⽤很⾼),其提供了⽐较全的LZO库和⼀个精简版的miniLZO库,如下:
测试的时候使⽤bmp和⽂本⽂件,在X86的Linux虚拟机(单核256M内存,Debian 6.0 OS)上测试。

测试⽂件原始⼤⼩压缩后⼤⼩压缩率压缩时间解压时间
1.bmp 5292054 159395 3.01%9.174ms23.037ms
2.bmp 6912056 33806 0.489%8.33ms36.17ms
3.bmp 6220856 5101891 82%25.78ms28.43ms
lzo.tar6645760 2457890 36.98%34.68ms38.62ms
kdoc.tar16660480698740241.93%102.86ms108.2ms
kinc.tar182579205684927 31.13% 106.87ms113.86ms
官⽅⽹站:
来⾃《HBase: The Definitive Guide》中的⼀个对⽐:
Algorithm% remaining Encoding Decoding
GZIP13.4%21 MB/s118 MB/s
LZO20.5%135 MB/s410 MB/s
Zippy/Snappy22.2%172 MB/s409 MB/s。

相关文档
最新文档