本文主要是介绍lz4: 性能很好的压缩算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原创翻译文章,转载请注明出处http://blog.csdn.net/erlib 作者Sunface
最近在不少项目特别是存储相关的项目用到了lz4压缩算法,它有什么特点呢?
LZ4 is a very fast lossless compression algorithm, providing compression speed at 300 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speeds up and beyond 1GB/s per core, typically reaching RAM speed limits on multi-core systems.
这个特性对于需要大吞吐量的压缩场合还是非常有用的,以很小的CPU代价换来更大的存储密度。
官方网站:https://code.google.com/p/lz4/, 摘抄下它的性能指标:
Name Ratio C.speed D.speed
LZ4 (r59) 2.084 330 915
LZO 2.05 1x_1 2.038 311 480
QuickLZ 1.5 -1 2.233 257 277
Snappy 1.0.5 2.024 227 729
LZF 2.076 197 465
FastLZ 2.030 190 420
zlib 1.2.5 -1 2.728 39 195
LZ4 HC (r66) 2.712 18 1020
zlib 1.2.5 -6 3.095 14 210
更多的测试可以看 http://blog.jpountz.net/post/28092106032/wow-lz4-is-fast
http://pokecraft.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO
它还有个高压缩率的版本:
LZ4 HC – High Compression Mode of LZ4
从源码lz4.c可以看到快的原因之一:
lz4
这个技术叫做 “The Blocking Technique”, 见图:
bt
这篇关于lz4: 性能很好的压缩算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!