
什麼壓縮工具Ubuntu 中提供了可以受益於多核心 CPU 的功能。
答案1
嗯,關鍵字是平行線。在查找了所有壓縮工具之後平行線我發現了以下內容:
PXZ- Parallel XZ 是一種壓縮實用程序,它利用在多個核心和處理器上同時運行輸入檔案的不同部分的 LZMA 壓縮。其主要目標是利用所有資源來加快壓縮時間,同時將對壓縮率的影響降至最低。
sudo apt-get install pxz
PLZIP- Lzip 是一種基於 LZMA 演算法的無損資料壓縮器,具有非常安全的完整性檢查和類似於 gzip 或 bzip2 的使用者介面。 Lzip 的解壓縮速度幾乎與 gzip 一樣快,而且壓縮效果比 bzip2 更好,這使得它非常適合軟體分發和資料歸檔。
plzip 是 lzip 的大規模並行(多執行緒)版本,使用 lzip 檔案格式; plzip 產生的檔案與 lzip 完全相容。
Plzip 旨在在多處理器電腦上更快地壓縮/解壓縮大文件,這使得它特別適合分發大軟體文件和大規模資料歸檔。對於足夠大的文件,plzip 可以使用數百個處理器。
sudo apt-get install plzip
PIGZ- pigz 代表 GZip 的並行實現,是 gzip 的全功能替代品,在壓縮資料時利用多個處理器和多個核心。
sudo apt-get install pigz
PBZIP2- pbzip2 是 bzip2 區塊排序檔案壓縮器的並行實現,它使用 pthreads 並在 SMP 機器上實現近線性加速。此版本的輸出與 bzip2 v1.0.2 完全相容(即:用 pbzip2 壓縮的任何內容都可以用 bzip2 解壓縮)。
sudo apt-get install pbzip2
LRZIP- 多執行緒壓縮程序,在處理大檔案時可以實現非常高的壓縮比和速度。它使用 zpaq 和 lzma 的組合壓縮演算法來實現最大壓縮,使用 lzo 來實現最大速度,以及 rzip 的遠端冗餘減少。它旨在隨著 RAM 大小的增加而擴展,從而進一步提高壓縮率。選擇大小或速度最佳化可以實現比 lzma 提供的更好的壓縮,或比 gzip 更好的速度,但具有 bzip2 大小的壓縮等級。
sudo apt-get install lrzip
一個小型壓縮基準(使用 Oli 建立的測試):
原始檔案大小 - 100 MB
PBZIP2 - 101 MB(增大 1%)
PXZ - 101 MB(增大 1%)
PLZIP - 102 MB(增大 1%)
LRZIP - 101 MB(增大 1%)
PIGZ - 101 MB (增大1%) )
一個小型壓縮基準(使用文字檔):
原始檔案大小 - 70 KB 文字檔案
PBZIP2 - 16.1 KB (23%)
PXZ - 15.4 KB (22%)
PLZIP - 15.5 KB (22.1%)
LRZIP - 15.3 KB (21.8%)
PIGZ - 17.4%
答案2
有兩個主要工具。lbzip2
和pbzip2
。它們本質上是 bzip2 壓縮器的不同實作。我對它們進行了比較(輸出是整理後的版本,但您應該能夠運行命令)
cd /dev/shm # we do all of this in RAM!
dd if=/dev/urandom of=bigfile bs=1024 count=102400
$ lbzip2 -zk bigfile
Time: 0m3.596s
Size: 105335428
$ pbzip2 -zk bigfile
Time: 0m5.738s6
Size: 10532460
lbzip2
似乎是隨機數據的贏家。它的壓縮程度稍低,但速度更快。 YMMV。
答案3
更新:
XZ 實用程式從v5.2.0開始支援多執行緒壓縮,最初被錯誤地記錄為多執行緒解壓縮。
例如:tar -cf - source | xz --threads=0 > destination.tar.xz