


蕪湖達內IT培訓
美國上市IT培訓機構
18130056197
zstd v1.4.7已發布,官方特別推薦升級到此版本,因為1.4.7在性能、修復錯誤以及增加新功能方面均有不小的改進。zstd (Zstandard)是由Facebook開源的快速無損壓縮算法,主要應用于zlib級別的實時壓縮場景,并且具有更好的壓縮比。zstd還可以以壓縮速度為代價提供更強的壓縮比,速度與壓縮權衡可通過小增量進行配置。
P.S:文章發布時,Facebook發布了針對1.4.7的熱修復更新,版本也升級到了1.4.8,修復了關于內部緩存的問題,詳情點此查看。
改進--long模式
--long模式用于在合理的時間和內存預算內分析大量數據,--long模式算法運行在正則表達式匹配器上,兩者均對壓縮結果產生影響。不過這兩個階段獨立運行,因此導致在高級別的壓縮水平下出現細微差異。所以無法在默認情況下一直啟用--long模式。
新版本修復了此問題,對于壓縮級別為16以上的壓縮,開啟--long模式的壓縮性能始終比關閉--long模式好。
提升解壓小文件塊的速度
此版本對解壓小文件塊的速度進行了優化,具體的提升根據文件塊的大小有所不同,如下表所示:
Block Size Decompression Speed Improvement
1 KB ~+30%
2 KB ~+30%
4 KB ~+25%
8 KB ~+15%
16 KB ~+10%
32 KB ~+5%
共享線程池(Shared Thread Pool)
這是一項試驗性功能。
默認情況下,每個壓縮上下文可以設置為使用最大可用的線程。但在復雜情況下,可能會有多個壓縮上下文并行工作,每個上下文都會使用部分線程。在這種場景中,可能需要控制所有這些壓縮上下文使用的線程總數。
1.4.7新增的共享線程池功能支持讓所有這些壓縮上下文共享同一個線程池,添加ZSTD_CCtx_refThreadPool()參數即可使用。
提升字典壓縮速度(Dictionary Compression)
此版本引入了新的實驗性字典壓縮算法,適用于中檔壓縮級別,采用了ZSTD_greedy , ZSTD_lazy和ZSTD_lazy2等策略。新算法可以在ZSTD_CDict創建過程中通過選擇壓縮參數ZSTD_c_enableDedicatedDictSearch來觸發。
下面的基準測試顯示了新算法帶來的顯著壓縮速度提升:
Level Hot Dict Cold Dict
5 ~+17% ~+30%
6 ~+12% ~+45%
7 ~+13% ~+40%
8 ~+16% ~+50%
9 ~+19% ~+65%
10 ~+24% ~+70%
詳情查看
https://github.com/facebook/zstd/releases/tag/v1.4.7
【免責聲明】本文系本網編輯部分轉載,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請在30日內與管理員聯系,我們會予以更改或刪除相關文章,以保證您的權益!