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


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

    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级数据压缩的考验而稳定的。
    官方网站:http://code.google.com/p/snappy/

    FastLZ
    FastLZ是一个高效的轻量级压缩解压库,其官方测试数据如下表:
     

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


    1GB文本数据测试:
     

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

     

    官方网站:http://www.quicklz.com/

     

    LZO/miniLZO
    LZO是一个开源的无损压缩C语言库,其优点是压缩和解压缩比较迅速占用内存小等特点(网络传输希望的是压缩和解压缩速度比较快,压缩率不用很高),其提供了比较全的LZO库和一个精简版的miniLZO库,网上测试数据如下:
    测试的时候使用bmp和文本文件,在X86的Linux虚拟机(单核256M内存,Debian 6.0 OS)上测试。

    测试文件

    原始大小

    压缩后大小

    压缩率

    压缩时间

    解压时间

    1.bmp     

    5292054 

    159395

    3.01%

    9.174ms

    23.037ms

    2.bmp     

    6912056 

    33806     

    0.489%

    8.33ms

    36.17ms

    3.bmp     

    6220856 

    5101891 

    82%

    25.78ms

    28.43ms

    lzo.tar

    6645760 

    2457890 

    36.98%

    34.68ms

    38.62ms

    kdoc.tar

    16660480

    6987402

    41.93%

    102.86ms

    108.2ms

    kinc.tar

    18257920

    5684927 

    31.13%   

    106.87ms

    113.86ms


    来自《HBase: The Definitive Guide》中的一个对比: 

    Algorithm

    % remaining

    Encoding

    Decoding

    GZIP

    13.4%

    21 MB/s

    118 MB/s

    LZO

    20.5%

    135 MB/s

    410 MB/s

    Zippy/Snappy

    22.2%

    172 MB/s

    409 MB/s

  • 相关阅读:
    Park Visit
    1894: 985的方格难题
    985的数字难题
    Highways
    最短路
    SQL内容补充
    8.前端资源优化
    7.CSRF攻击和文件上传漏洞攻击
    6.XSS攻击方式及防御措施
    5.避免重复提交表单
  • 原文地址:https://www.cnblogs.com/timssd/p/6343649.html
Copyright © 2020-2023  润新知