LZ4

壓縮演算法

LZ4是一种无损数据压缩算法,着重于压缩和解压缩速度,它属于面向字节的LZ77压缩方案家族。

LZ4
原作者Yann Collet
開發者Yann Collet
首次发布2011年4月24日 (2011-04-24)
当前版本1.10(2024年7月22日,​4個月前​(2024-07-22[1]
源代码库 編輯維基數據鏈接
编程语言C
操作系统跨平台
平台可移植
类型数据压缩
许可协议Simplified BSD License
网站lz4.org 編輯維基數據鏈接

特征

LZ4 演算法目標是提供速度和壓縮比的良好權衡,壓縮率比 LZO 差,也比 Deflate 類型的演算法差,但是 LZ4 壓縮速度與 LZO 相似,比 DEFLATE 快數倍,而解壓縮速度則明顯快於 LZO。[2]

设计

压缩可以在流或者块中进行。在查找最佳匹配时投入更多努力可达到更高的压缩率,这样的结果是更小的输出和更快的解压缩速度。

实现

Yann Collet使用C语言制成的参考实现发布在BSD许可证之下。此算法已有多种语言的移植绑定,包括JavaC#Python等。[3]像是Hadoop等数据库使用此算法进行快速压缩。LZ4也在Linux内核 3.11中被原生实现。[4]ZFS文件系统的FreeBSDIllumos、ZFS on Linux,以及ZFS-OSX实现都支持LZ4算法进行即时压缩。[5][6][7][8]Linux从3.19-rc1开始在SquashFS中支持LZ4。[9]Yann Collet也在较新版的Zstd压缩软件中实现了LZ4。

参考资料

  1. ^ https://github.com/lz4/lz4/releases/tag/v1.10.0. [2024-09-30].  缺少或|title=为空 (帮助)
  2. ^ Michael Larabel. Support For Compressing The Linux Kernel With LZ4. Phoronix. 2013-01-28 [2015-08-28]. (原始内容存档于2020-11-27). 
  3. ^ GitHub上的Extremely Fast Compression algorithm http://www.lz4.org
  4. ^ Jonathan Corbet. Kernel development. LWN.net. 2013-07-19 [2015-08-28]. (原始内容存档于2017-12-15). 
  5. ^ FreeBSD 9.2-RELEASE Release Notes. FreeBSD. 2013-11-13 [2015-08-28]. (原始内容存档于2020-11-12). 
  6. ^ LZ4 Compression. illumos. [2015-08-28]. (原始内容存档于2018-10-09). 
  7. ^ GitHub上的Illumos #3035 LZ4 compression support in ZFS and GRUB
  8. ^ Features: lz4 compression. OpenZFS. [2015-08-28]. (原始内容存档于2020-04-25). 
  9. ^ Phillip Lougher. Squashfs: Add LZ4 compression configuration option. 2014-11-27 [2015-08-28]. 

外部链接