今天要压一个源代码包,在清理完没有必要的保留的repo库文件后,整个源代码包的大小也有17G,不得不再次感叹代码数量的扩张速度。用传统的tar命令来压缩这么大的一个包已经完全不堪忍受了。
gzip是单线程压缩,因此非常耗时。如下表所示, 使用常规的tar命令进行压缩,完成17G的文件的压缩,共需耗时21分钟。而pigz是gzip的多线程实现,默认情况下,会使用所有可用的CPU进行多线程的压缩,效率自然是惊人,同样的一台机器,完成17G文件的压缩,仅需要7分钟不到。两种命令压出来的包,都可以用同一个tar解压缩命令。
虽然压缩大文件的机会并不多,但是现在的软件项目,同一个工程下塞的东西越来越多,变得越来大趋势似乎是无法逆转了。既然这样,以后碰到超大文件夹需要压缩的几率只会不断增多,还是应该早早地掌握快速压缩的技巧,省得以后遇上类似情形时,只能坐在那儿傻等。