Zstandard(或Zstd)是由FacebookYann Collet英語Yann Collet開發的一個無損數據壓縮算法。該名稱也指其C語言參考實作。第1版的實現於2016年8月31日發布為自由軟件[2][3][4]

Quick Facts 原作者, 開發者 ...
Zstandard
原作者Yann Collet
開發者Yann Collet、Przemysław Skibiński(inikep
首次發布2015年1月24日 (2015-01-24)
當前版本1.5.6(2024年3月31日,​6個月前​(2024-03-31[1]
源代碼庫 編輯維基數據鏈接
編程語言CC++
操作系統跨平台
平台可移植
類型數據壓縮
許可協議雙授權:BSD許可證, GPLv2
網站facebook.github.io/zstd/
Close

特色

設計Zstandard的目的是提供一個類似於DEFLATE算法的壓縮比,但更快,特別是解壓縮快的算法。它的壓縮級別從負5級(最快)到22級(壓縮速度最慢,但是壓縮比最高)可以調整。[5]

zstd套件裡面有壓縮和解壓縮的並行(多線程)實現。從1.3.2版本(2017年10月)開始,zstd 有選擇地進行非常長的搜索和重複數據消除(--long,128MiB窗口),類似於rzip或lrzip。[6]

壓縮速度在最快和最慢級別之間可以相差20倍或更多,而解壓縮速度統統很快,在最快和最慢級別之間相差不到20%。[7] Zstandard命令行有一個「自適應」(--adapt)模式,根據I/O條件改變壓縮級別,主要是寫入輸出的速度。

Zstd在其最大壓縮級別下的壓縮比接近lzma、lzham和ppmx,並且比lzabzip2性能更好。[8][9] Zstandard達到了目前的柏拉圖最適性,因為它解壓縮的速度比任何其他目前可用的算法都要快,並且有類似的或者更好的壓縮比。[10][11]

字典對小文件的壓縮比有很大的影響,所以Zstandard可以使用用戶提供的壓縮字典。它還提供了一種訓練模式,能夠從一組樣本生成一個字典。[12][13] 特別是,可以加載一個字典來處理文件之間具有冗餘的大型文件集,但不一定在每個文件(例如日誌文件)內。

使用情況

Quick Facts 副檔名, 網路媒體型式 ...
Zstandard
副檔名
.zst
網路媒體型式
application/zstd[14]
格式類型數據壓縮
Close

Linux內核自2017年11月以來就包含了Zstandard (4.14版本) ,作為btrfssquashfs文件系統的壓縮方法。[15][16][17]

2017年,Allan Jude將Zstandard集成到FreeBSD內核中,[18] 用於概念驗證OpenZFS壓縮方法。[7] 隨後,它受集成為核心傾印(英語:Core dump,中國大陸作核心轉儲)(用戶程序和內核崩潰)的壓縮器選項。

AWS RedshiftRocksDB數據庫支持使用Zstandard進行字段壓縮。[19]

2018年3月,CanonicalUbuntu Linux發行版中測試了[20]默認使用zstd作為deb包壓縮方法。與deb包的xz壓縮相比,等級19的zstd解壓縮速度要快得多,但代價是套件文件大小增加了6%。Debian開發者Ian Jackson希望再等幾年再官方採用zstd來封裝。[21][22][23]

2018年,該算法發布為 RFC 8478,它還定義了相關的媒體類型「application/zstd」、文件擴展名「zst」和HTTP內容編碼「zstd」。[24]

2019年10月,隨着pacman 5.2包管理器的發布,Arch Linux增加了對zstd包壓縮方法的支持,[25] 2020年1月,官方倉庫中的包從xz轉換為zstd。Arch採用zstd -c -T0 --ultra -20 -,與xz相比,所有壓縮包的大小增加了0.8%,解壓速度提高了1300%;當使用多個線程時,解壓內存增加了50 MiB,壓縮內存會增加,但會隨着使用的線程數而擴展。[26][27][28][29] 在.NSZ / .XCZ文件格式中完整實現了該算法以及多種壓縮等級,[30]任天堂Switch混合遊戲機的自製社區開發。[31]

許可協議

參考實現以BSD許可證授權,發布在GitHub上。自1.0版本以來,它有額外的專利權許可。[32]

自1.3.1版,[33]拿掉此專利權許可,授權改成BSD + GPLv2雙授權。[34]

參見

參考資料

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.