欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

snappy,lz4 的对比

程序员文章站 2022-06-07 23:13:29
...

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.压缩和解压的速度比对
snappy,lz4 的对比
            
    
    博客分类: spark 压缩snappylz4 

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

2.压缩比例
snappy,lz4 的对比
            
    
    博客分类: spark 压缩snappylz4 

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


3.压缩和解压缩

snappy,lz4 的对比
            
    
    博客分类: spark 压缩snappylz4 



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

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

snappy,lz4 的对比
            
    
    博客分类: spark 压缩snappylz4 



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


5. 压缩速度 和 文件大小 对比
snappy,lz4 的对比
            
    
    博客分类: spark 压缩snappylz4 


可以看出: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