同步操作将从 柠檬夕桐/compress 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
目录 [TOC]
基于gzip、deflate、lz4、snappy、lzo等算法实现数据压缩,主要用于RPC通讯数据的压缩!
bzip2是Julian Seward开发并按照自由软件/开源软件协议发布的数据压缩算法及程序。Seward在1996年7月第一次公开发布了bzip2 0.15版,在随后几年中这个压缩工具稳定性得到改善并且日渐流行,Seward在2000年晚些时候发布了1.0版。bzip2比传统的gzip的压缩效率更高,但是它的压缩速度较慢。
DEFLATE是同时使用了LZ77算法与哈夫曼编码(Huffman Coding)的一个无损数据压缩算法,DEFLATE压缩与解压的源代码可以在自由、通用的压缩库zlib上找到,zlib官网:http://www.zlib.net/ jdk中对zlib压缩库提供了支持,压缩类Deflater和解压类Inflater,Deflater和Inflater都提供了native方法。
gzip的实现算法还是deflate,只是在deflate格式上增加了文件头和文件尾,同样jdk也对gzip提供了支持,分别是GZIPOutputStream和GZIPInputStream类,同样可以发现GZIPOutputStream是继承于DeflaterOutputStream的,GZIPInputStream继承于InflaterInputStream,并且可以在源码中发现writeHeader和writeTrailer方法。
LZ4是一种无损数据压缩算法,着重于压缩和解压缩速度。
LZO是致力于解压速度的一种数据压缩算法,LZO是Lempel-Ziv-Oberhumer的缩写,这个算法是无损算法。
Snappy(以前称Zippy)是Google基于LZ77的思路用C++语言编写的快速数据压缩与解压程序库,并在2011年开源。它的目标并非最大压缩率或与其他压缩程序库的兼容性,而是非常高的速度和合理的压缩率。
env:JDK:1.7/CPU:4C/Compress Times:2000times
Format | Size Before(byte) | Size After(byte) | Compress Expend(ms) | UnCompress Expend(ms) | MAX CPU(%) |
bzip2 | 35984 | 8677 | 11591 | 2362 | 29.5 |
gzip | 35984 | 8804 | 2179 | 389 | 26.5 |
deflate | 35984 | 9704 | 680 | 344 | 20.5 |
lzo | 35984 | 13069 | 581 | 230 | 22 |
lz4 | 35984 | 16355 | 327 | 147 | 12.6 |
snappy | 35984 | 13602 | 424 | 88 | 11 |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。