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]. 

外部連結