Lui*_*ado 77
好吧,关键字是parallel。在寻找了所有并行的压缩工具后,我发现了以下内容:
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 - 124.8%
Oli*_*Oli 35
有两个主要工具。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
Run Code Online (Sandbox Code Playgroud)
lbzip2
似乎是随机数据的赢家。它的压缩率稍低,但速度要快得多。天啊。
ntu*_*ner 11
除了上面的好总结(感谢 Luis),现在人们可能还想考虑 PIXZ,根据它的自述文件(来源:https : //github.com/vasi/pixz——我自己还没有验证这些声明) 比 PXZ 有一些优势。
[Compared to PIXZ, PXZ has these advantages and disadvantages:]
* Simpler code
* Uses OpenMP instead of pthreads
* Uses streams instead of blocks, not indexable
* Uses temp files and doesn't combine them until the whole file is compressed, high disk/memory usage
Run Code Online (Sandbox Code Playgroud)
换句话说,PIXZ 据称具有更高的内存和磁盘效率,并且具有可选的索引功能,可以加速压缩 tar 文件的各个组件的解压缩。
lzop也可能是一个可行的选择,尽管它是单线程的。
它使用非常快的lempel-ziv-oberhumer压缩算法,据我观察,该算法比 gzip 快 5-6 倍。
注意:虽然它还不是多线程的,但在 1-4 核系统上它的性能可能会优于 Pigz。这就是为什么我决定发布这篇文章,即使它不能直接回答你的问题。尝试一下,它可能会解决你的CPU瓶颈问题,同时只使用一个CPU并且压缩稍差一些。我发现它通常是比 Pigz 更好的解决方案。
归档时间: |
|
查看次数: |
80186 次 |
最近记录: |