成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

推薦一款Facebook開源的高性能壓縮工具Zstd (支持 macOS/Linux/Windows 全平臺)

系統
本文主要介紹了 zstd 工具的作用和性能測試,一起來看看吧。

[[383491]]

壓縮工具中的神器: 壓縮比高,速度快,性能好

1. 工具介紹

主要介紹 zstd 工具的作用和性能測試

我們稱 Zstandard 或 Zstd 是一種快速的無損壓縮算法,是針對 zlib 級別的實時壓縮方案,以及更好的壓縮比。它由一個非??斓撵仉A段,由 Huff0 和 FSE 庫提供。這個項目是作為開源的 BSD 許可收費的庫,以及一個生成和解碼 .zst 格式。

  • 性能測試對比
Compressor name Ratio Compression Decompress.
zstd 1.4.4 -1 2.884 520 MB/s 1600 MB/s
zlib 1.2.11 -1 2.743 110 MB/s 440 MB/s
brotli 1.0.7 -0 2.701 430 MB/s 470 MB/s
quicklz 1.5.0 -1 2.238 600 MB/s 800 MB/s
lzo1x 2.09 -1 2.106 680 MB/s 950 MB/s
lz4 1.8.3 2.101 800 MB/s 4220 MB/s
snappy 1.1.4 2.073 580 MB/s 2020 MB/s
lzf 3.6 -1 2.077 440 MB/s 930 MB/s

Zstd 還可以壓縮速度為代價提供更強的壓縮比,Speed vs Rtrade 可以通過小增量進行配置。在所有設置中,解壓速度保持不變,并在所有 LZ壓縮算法( 比如 zlib 或者lzma) 共享的屬性中保持不變。

以前的壓縮方式,都是適用于典型文件和二進制的壓縮方案( MB/GB)的情況。然而,要壓縮的數據量越小,壓縮就越困難。這是所有壓縮算法都存在的問題,原因是壓縮算法從過去的數據中學習如何壓縮未來的數據。但是在一個新的數據集的開始,沒有“過去”可以參考。

為了解決這種情況,Zstd 提供了一種新的訓練模式,可以使用這種模式對所選數據類型的算法進行調優。訓練 Zstandard 是通過提供一些樣本(每個樣本一個文件)來實現的,訓練的結果存儲在稱為**“字典”**的文件中,該文件必須在壓縮和解壓縮之前加載。使用此字典,可以在小數據上實現的壓縮率大大提高。

以下示例,使用由 github 公共 API 創建的 github 用戶示例集。它由大約 10K 條記錄組成,每條記錄 1KB 左右。

  •  小數據壓縮的案例

如果在一組小的數據樣本中存在某種相關性,那么訓練就是有效的。一個字典的數據越具體,它的效率就越高(沒有通用字典)。因此,為每種類型的數據部署一個字典將帶來最大的好處。字典增益在前幾個 KB 中最有效。然后,壓縮算法將逐步使用先前解碼的內容,以更好地壓縮文件的其余部分。

  •   字典壓縮使用示例 
  1. # 訓練字典  
  2. $ zstd --train FullPathToTrainingSet/* -o dictionaryName  
  3. # 用字典壓縮  
  4. $ zstd -D dictionaryName FILE  
  5. # 用字典解壓縮  
  6. $ zstd -D dictionaryName --decompress FILE.zst 

  •  提供客戶端工具    

2. 參數命令

主要介紹 zstd 工具的安裝和全部的參數命令

  •  安裝方式 
  1. # Ubuntu  
  2. $ apt install zstd  
  3. # CentOS  
  4. $ yum install zstd  
  5. # 編譯安裝  
  6. $ git clone https://github.com/facebook/zstd.git  
  7. $ cd zstd; make; sudo make install 

  •  參數命令 
  1. $ zstd --help  
  2. 使用方式 :  
  3.       zstd [args] [FILE(s)] [-o file]  
  4. 參數選項 :  
  5.  -#     : 壓縮級別(1-19,默認值為3)  
  6.  -d     : 解壓  
  7.  -D file: 使用文件作為字典  
  8.  -o file: 結果存儲在文件中  
  9.  -f     : 在沒有提示的情況下覆蓋輸出并(解壓)壓縮鏈接  
  10. --rm    : 成功解壓縮后刪除源文件  
  11.  -k     : 保存源文件(默認)  
  12.  -h/-H  : 顯示幫助/長幫助并退出  
  13. 高級選項 :  
  14.  -V     : 顯示版本號并退出  
  15.  -v     : 詳細模式  
  16.  -q     : 靜默輸出  
  17.  -c     : 強制寫入標準輸出  
  18.  -l     : 輸出zstd壓縮包中的信息  
  19. --ultra : 啟用超過19級,最多22級(需要更多內存)  
  20.  -T#    : 使用幾個線程進行壓縮(默認值:1個)  
  21.  -r     : 遞歸地操作目錄  
  22. --format=gzip : 將文件壓縮為.gz格式  
  23.  -M#    : 為解壓設置內存使用限制  
  24. 字典生成器 :  
  25. --train ## : 從一組訓練文件中創建一個字典  
  26. --train-cover[=k=#,d=#,steps=#] : 使用帶有可選參數的cover算法  
  27. --train-legacy[=s=#] : 有選擇性地使用遺留算法(默認值:9)  
  28.  -o file : “file”是字典名(默認:字典)  
  29. --maxdict=# : 將字典限制為指定大小(默認值:112640)  
  30. --dictID=# : 強制字典ID為指定值(默認:隨機)  
  31. 性能測試參數 :  
  32.  -b#    : 基準測試文件,使用#壓縮級別(默認為1)  
  33.  -e#    : 測試從-bX到#的所有壓縮級別(默認值:1)  
  34.  -i#    : 最小計算時間(秒)(默認為3s)  
  35.  -B#    : 將文件切成大小為#個獨立塊(默認:無塊)  
  36. --priority=rt : 將進程優先級設置為實時 

3. 使用技巧

主要介紹一些關于 zstd 工具的使用示例和參數解釋

  •  簡單使用 
  1. # 將一個文件壓縮成一個后綴為.zst的新文件  
  2. # 如果命令后面沒有文件或文件為-的話,則讀取標準輸入 
  3. $ zstd file  
  4. # 在壓縮操作后刪除源文件  
  5. # 默認情況下,源文件在成功壓縮或解壓縮后不會被刪除  
  6. $ zstd --rm file  
  7. # 解壓zst壓縮包  
  8. $ zstd -d file.zst  
  9. # 解壓zst壓縮包到標準輸出  
  10. $ zstd -dc file.zst  
  11. # 查看zst壓縮包  
  12. $ zstd -l file.zst  
  13. $ zstdcat file.zst 
  •  高級用法 
  1. # 輸出詳細信息  
  2. $ zstd -v file  
  3. $ zstd -v -d file.zst  
  4. # 壓縮一個文件同時指定壓縮級別(19最高,0最低,3為默認)  
  5. $ zstd -level file  
  6. $ zstd -9 file  
  7. # 使用更多的內存(壓縮和解壓時)以達到更高的壓縮比  
  8. $ zstd --ultra -level file  
  9. # 解壓縮為單進程  
  10. # 多個進程并發執行壓縮過程(0表示自動使用所有CPU核心)  
  11. $ zstd -T0 file  
  12. $ zstd -T4 file  
  13. $ zstd -T4 -d file.zst 

4. 參考文檔

  •  5 ways Facebook improved compression at scale with Zstandard 

 

責任編輯:龐桂玉 來源: 奇妙的Linux世界
相關推薦

2016-05-25 14:50:34

Linux文件壓縮工具

2021-06-09 09:52:29

開源Pyroscope代碼

2019-07-22 09:24:54

LinuxMySQL數據庫

2016-10-13 09:20:21

FacebookWindows 10osquery

2025-04-25 05:00:00

StarRocks開源數據倉庫

2019-08-02 14:45:22

阿里Java命令

2021-04-22 09:20:20

KubernetesKubectl FlaLinux

2022-06-14 07:29:51

squoosh壓縮工具開源

2025-04-07 08:10:00

2023-10-31 08:03:33

開源電子簽名組件

2020-02-17 07:20:22

SSH遠程連接工具Linux

2024-02-23 08:13:25

Excalidraw白板工具開源

2020-12-21 09:53:52

Redis工具開源

2018-06-19 09:00:00

2020-12-15 15:08:17

工具Java線程

2020-12-15 07:54:40

工具Hutoolgithub

2020-12-03 09:33:58

前端開發工具

2022-06-20 08:58:25

Obsidian筆記工具

2015-09-23 17:39:52

Github開源工具

2020-12-10 10:00:59

監控Java可視化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 波多野结衣先锋影音 | 欧美vide| 亚洲精品一区二区在线观看 | 成人精品一区二区三区中文字幕 | 日日骚网 | 午夜免费福利电影 | 久久在线视频 | 日韩欧美国产精品综合嫩v 一区中文字幕 | 男女羞羞视频免费 | 拍真实国产伦偷精品 | 国产成人在线播放 | 久久久久久久久久久久久91 | 国产成人久久精品 | 久久精品天堂 | 91在线观看| 欧区一欧区二欧区三免费 | 国产高清在线精品 | 337p日本欧洲亚洲大胆精蜜臀 | 亚洲国产精品自拍 | 国产乱码久久久 | 欧美日韩不卡 | 一级全黄少妇性色生活免费看 | 毛片站| 九九在线精品视频 | 国产高清久久 | www久久爱| 男女羞羞视频在线 | 91久久久久久久久 | 久久一区 | 国产欧美精品一区二区 | 日本精品在线播放 | 一区二区视频在线观看 | 欧美日韩在线一区二区 | 亚洲视频在线观看 | 亚洲国产精品美女 | 亚洲精品在线看 | 狠狠操网站 | 成人免费大片黄在线播放 | 色综合久 | 91av免费版| 成人高清在线视频 |