LZ4是一种无损数据压缩算法,着重于压缩和解压缩速度,它属于面向字节的 LZ77 压缩類型。
特征
LZ4 演算法目標是在速度和壓縮比上進行良好的權衡,傳統上 LZ4 壓縮率比 LZO 差,而 LZO 比 Deflate 類型的演算法更差。但是 LZ4 壓縮速度與 LZO 相似,比 DEFLATE 快數倍,而解壓縮速度則明顯快於 LZO。
设计
压缩可以在流或者块中进行。在查找最佳匹配时投入更多努力可达到更高的压缩率,这样的结果是更小的输出和更快的解压缩速度。
实现
Yann Collet 使用C语言制成的参考实现发布在BSD许可证之下。此算法已有多种语言的移植和绑定,包括Java、C#、Python等。像是Hadoop等数据库使用此算法进行快速压缩。LZ4也在Linux内核 3.11中被原生实现。ZFS文件系统的FreeBSD、Illumos、ZFS on Linux,以及ZFS-OSX实现都支持LZ4算法进行即时压缩。Linux从3.19-rc1开始在SquashFS中支持LZ4。Yann Collet也在较新版的Zstd压缩软件中实现了LZ4。
参考资料
外部链接
*
评论 (0)