oracle lz压缩,几种压缩库的整理 - 王宏伟的个人空间 - OSCHINA - 中文开源技术交流社区...

SnappySnappy是在谷歌内部生产环境中被许多项目使用的压缩库,包括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

free, open-source, portable real-time compression library

e8a629f12806bbe43713684b4f083845.png

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

071772e5437322740be86fedede83009.png

LZO/miniLZOLZO是一个开源的无损压缩C语言库,其优点是压缩和解压缩比较迅速占用内存小等特点(网络传输希望的是压缩和解压缩速度比较快,压缩率不用很高),其提供了比较全的LZO库和一个精简版的miniLZO库,官方网站:http://www.oberhumer.com/opensource/lzo/

ZIP、 GZIP

计算机文件压缩算法,JDK中java.util.zip.*中实现。主要包括ZipInputStream/ ZipOutputStream、GZipInputStream/ ZipOutputStream。

LZF

采用类似lz77和lzss的混合编码,针对字符串压缩算法。

JZLIB

纯java的开源解压、压缩包,与JDK中ZLIB类似。

测试说明

1、版本:

ZIP、GZIP :JDK1.6版;QuickLZ: 1.5.0 final;Snappy:1.1.1.6

LZF:1.0.3;JZLIB:1.1.3

2、数据来源:从测试数据集中读取行数据后拼接成字符串,实际的数据中

包含字符、数字。

3、单位:

数据大小:byte

解压缩耗时:ms

4、测试机器配置:

笔记本,windows7 旗舰版

Intel(R) Core(TM)  i5-2410M     CPU @ 2.3GHz   2.3GHz

RAM: 6.00G     64位

4600e422b6b7e28cbc1c922831f5fe42.png

386772511c7dcc42a75716756b612401.png

e50f2fc415792ac0bfa6842112f94170.png

f77b7630971e6d3971cd9f08fecc17f9.png

f24d3b9974c081fe79e43f7d58147bd5.png

2feb3adc30d38a2331c5f2f8729e7d83.png

5577cbdbc9fe6bba293161269b77a1f7.png

7658cbf569d811685a54eaf189864335.png

af1cc4a341a5bad87e842b79bb55f73f.png

42d310c7507014df63848cee7589010a.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值