snappy,lz4 的对比

阅读更多

1.介绍
bzip2:一个完全免费,免费专利和高质量的数据压缩
LZ4 :非常快速的压缩算法
LZHAM :无损压缩数据库,压缩比率跟LZMA接近,但是解压缩速度却要快得多。
LZMA :7z格式默认和通用的压缩方法。
LZMAT :及其快速的实时无损数据压缩库
Snappy :快速压缩和解压缩
ZLib :非常紧凑的数据流压缩库
ZZIPlib:提供ZIP归档的读权限

这里主要看看snappy 和LZ4 的对比

原文地址:https://www.percona.com/blog/2016/04/13/evaluating-database-compression-methods-update/

2.压缩和解压的速度比对


可以看出:lz4 最快,snappy 第二

2.压缩比例


可以看出:lzma 压缩比最高,毕竟是最慢的,   lz4 , snappy ,QuickLZ 相当


3.压缩和解压缩

snappy,lz4 的对比_第1张图片



可以看出:  lz4 解压和压缩都比较高,snappy  表现一般

4.压缩速度和  文件块块  压缩速度对比

snappy,lz4 的对比_第2张图片



可以看出:lz4  最佳压缩块是64KB    , snappy 变化并不大


5. 压缩速度 和 文件大小 对比
snappy,lz4 的对比_第3张图片


可以看出:LZ4 的压缩速度 850M/S 最快,snappy 第二


6. 各版本的差异对比
测试代码:https://github.com/inikep/lzbench

 

Compressor name Compression Decompress Compr. size Ratio
lz4 1.7.5 452 MB/s 2244 MB/s 100880800 47.60
lz4fast 1.7.5 -3 522 MB/s 2244 MB/s 107066190 50.52
lz4fast 1.7.5 -17 785 MB/s 2601 MB/s 131732802 62.15
lz4hc 1.7.5 -1 100 MB/s 2056 MB/s 87591763 41.33
lz4hc 1.7.5 -4 56 MB/s 2200 MB/s 79807909 37.65
lz4hc 1.7.5 -9 23 MB/s 2253 MB/s 77892285 36.75
lz4hc 1.7.5 -12 3.52 MB/s 2281 MB/s 77268977 36.46
snappy 1.1.4 327 MB/s 1075 MB/s 102146767 48.19



小结:

1.snappy 从各个方面是相对均衡的压缩算法,使用场景比较多

2.lz4 是了解到各方面都比较优越的算法,能用的地方可以参考上面的表,进行选择。但是hbase 由于许可证的原因,至少目前用不了这个东西

3.当然还有其他的 lzo,gz,zlib 等等,相比上面两种来说要差一些,当然特殊场景下可以择优选取,但是通用场景选 snappy 或者 lz4 是比较不错的。





参考别人的结果:http://developer.51cto.com/art/201501/463096.htm
参考压缩结果:http://java-performance.info/performance-general-compression/

 

你可能感兴趣的:(压缩,snappy,lz4)