pigz 多线程压缩神器 - pigz multi-thread gzip

pigz 是基于gzip的多线程压缩利器,官方 是这样介绍的:A parallel implementation of gzip for modern multi-processor, multi-core machines. 翻译成中文是:一个针对现代多处理器、多核机器的 gzip 的并行实现。首先,它是gzip的并行实现,其次是针对现代多处理器、多核机器。

不废话了,我们先来测试下压缩速度:

1、使用 gzip 压缩 android sdk(4.5G大): time tar -zcf ./sdk.tar.gz ../sdk  输出如下:

real	3m11.418s
user	3m8.948s
sys	0m5.630s

2、使用 pigz 压缩:time tar -cf - ../sdk | pigz -p 8 > ./sdk.tgz  输出如下:

real	0m37.359s
user	4m36.383s
sys	0m5.730s

可见,pigz的速度是gzip的 5.3 倍,现在,我们看看解压速度。

3、使用gzip解压:time tar xf sdk.tar.gz  输出如下:

real	0m41.602s
user	0m29.835s
sys	0m6.858s

4、使用pigz解压:time pigz -p 8 -k -d sdk.tgz  输出如下:

real	0m15.635s
user	0m20.030s
sys	0m3.677s

由于pigz解压后是tar,所以还需要解压tar文档:time tar -xf sdk.tar  输出如下:

real	0m7.832s
user	0m0.299s
sys	0m3.927s

那么使用pigz全部耗时 23.4 秒,而gzip 是41秒。差不多2倍。这里sdk文件夹4.5G,压缩后1.9G,两者压缩后大小没啥差别。当压缩20G的文件时,发现pigz速度下降,接着我尝试压缩到内存里面,速度提升明显,可见,到最后影响速度的却是磁盘,我14年买的三星ssd看来不行了。

本博客若无特殊说明则由 full-stack-trip 原创发布
转载请点名出处:编程生涯 > pigz 多线程压缩神器 - pigz multi-thread gzip
本文地址:https://www.kpromise.top/pigz-multi-thread-gzip/

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注