LZ4

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

LZ4
原作者Yann Collet
開發者Yann Collet
首次发布2011年4月24日 (2011-04-24)
当前版本
  • 1.9.4 (2022年8月16日;穩定版本)[1]
源代码库
编程语言C
操作系统跨平台
平台可移植
类型数据压缩
许可协议Simplified BSD License
网站

特征

该算法提供一个比LZO算法稍差的压缩率——这逊于gzip等算法。但是,它的压缩速度类似LZO——比gzip快几倍;而解压速度显著快于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. .
  2. Michael Larabel. . Phoronix. 2013-01-28 [2015-08-28]. (原始内容存档于2020-11-27).
  3. GitHub上的Extremely Fast Compression algorithm http://www.lz4.org
  4. Jonathan Corbet. . LWN.net. 2013-07-19 [2015-08-28]. (原始内容存档于2017-12-15).
  5. . FreeBSD. 2013-11-13 [2015-08-28]. (原始内容存档于2020-11-12).
  6. . illumos. [2015-08-28]. (原始内容存档于2018-10-09).
  7. GitHub上的Illumos #3035 LZ4 compression support in ZFS and GRUB
  8. . OpenZFS. [2015-08-28]. (原始内容存档于2020-04-25).
  9. Phillip Lougher. . 2014-11-27 [2015-08-28].

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.