LZ4
壓縮演算法
LZ4是一种无损数据压缩算法,着重于压缩和解压缩速度,它属于面向字节的LZ77压缩方案家族。
原作者 | Yann Collet |
---|---|
开发者 | Yann Collet |
首次发布 | 2011年4月24日 |
当前版本 | 1.10(2024年7月22日[1]) |
源代码库 | |
编程语言 | C |
操作系统 | 跨平台 |
平台 | 可移植 |
类型 | 数据压缩 |
许可协议 | Simplified BSD License |
网站 | lz4 |
特征
LZ4 算法目标是提供速度和压缩比的良好权衡,压缩率比 LZO 差,也比 Deflate 类型的算法差,但是 LZ4 压缩速度与 LZO 相似,比 DEFLATE 快数倍,而解压缩速度则明显快于 LZO。[2]
设计
压缩可以在流或者块中进行。在查找最佳匹配时投入更多努力可达到更高的压缩率,这样的结果是更小的输出和更快的解压缩速度。
实现
Yann Collet使用C语言制成的参考实现发布在BSD许可证之下。此算法已有多种语言的移植和绑定,包括Java、C#、Python等。[3]像是Hadoop等数据库使用此算法进行快速压缩。LZ4也在Linux内核 3.11中被原生实现。[4]ZFS文件系统的FreeBSD、Illumos、ZFS on Linux,以及ZFS-OSX实现都支持LZ4算法进行即时压缩。[5][6][7][8]Linux从3.19-rc1开始在SquashFS中支持LZ4。[9]Yann Collet也在较新版的Zstd压缩软件中实现了LZ4。
参考资料
- ^ https://github.com/lz4/lz4/releases/tag/v1.10.0. [2024-09-30]. 缺少或
|title=
为空 (帮助) - ^ Michael Larabel. Support For Compressing The Linux Kernel With LZ4. Phoronix. 2013-01-28 [2015-08-28]. (原始内容存档于2020-11-27).
- ^ GitHub上的Extremely Fast Compression algorithm http://www.lz4.org
- ^ Jonathan Corbet. Kernel development. LWN.net. 2013-07-19 [2015-08-28]. (原始内容存档于2017-12-15).
- ^ FreeBSD 9.2-RELEASE Release Notes. FreeBSD. 2013-11-13 [2015-08-28]. (原始内容存档于2020-11-12).
- ^ LZ4 Compression. illumos. [2015-08-28]. (原始内容存档于2018-10-09).
- ^ GitHub上的Illumos #3035 LZ4 compression support in ZFS and GRUB
- ^ Features: lz4 compression. OpenZFS. [2015-08-28]. (原始内容存档于2020-04-25).
- ^ Phillip Lougher. Squashfs: Add LZ4 compression configuration option. 2014-11-27 [2015-08-28].