我的GitHub会有更多新鲜出炉的文章。Linux版本:Debian8.5pbzip2安装:apt-getinstallpbzip2pbzip2详细参考:pbzip2安装及使用bzip2(单线程压缩工具)#压缩单个文件测试#单个文件大小root@wing:/data#du-h2016.sql3.4G2016.sql#tarbzip2压缩命令时间tar-jcf2016.sql.bz22016.sql#单个文件压缩时间real10m7.996suser10m4.632ssys0m13.276s#压缩文件大小root@wing:/data#du-sh2016.sql.bz2220M2016.sql.bz2#压缩目录测试#目录文件大小root@wing:/data#du-sh20161122/6.9G20161122/#tarbzip只能使用一个内核进行压缩timetar-jcvf20161122_bzip.bz220161122/*#目录压缩时间real24m30.013suser22m51.936ssys0m23.872s#压缩后的文件大小root@wing:/data#du-h20161122.bz2356M20161122.bz2pbzip2#(multithreading)单文件测试#单文件大小root@wing:/data#du-h2016.sql3.4G2016.sql#pbzip2压缩命令时间pbzip2-p3-k2016.sql#单文件压缩时间real3m22.909suser9m55.092ssys0m16.284s#压缩文件大小root@wing:/data#du-sh2016.pbzip.bz2221M2016.pbzip.bz2#压缩目录test#目录文件大小root@wing:/data#du-sh20161122/6.9G20161122/#tarbzippbzip使用3核压缩时间tar-c20161122|pbzip2-p3-c>20161122.tar.bz2#目录压缩时间real7m31.688suser22m5.736ssys0m42.520s#压缩文件大小root@wing:/data#du-h20161122.tar.bz2358M20161122.tar.bz2摘要:bzippbzip(3线程)原文件大小3.4G3.4G文件压缩时间(real)10m7.996s3m22.909s文件压缩大小220M221M原目录大小6.9G6.9G目录压缩时间(real)24m30.013s7m31.688s目录压缩大小356M358M注:之所以使用real而不是user+sys来计算压缩时间,是因为多线程下user的时间是各个线程时间的总和,与我们可以感知的时间偏差很大,所以选择real,server以上都是初始化的工作,所以实时性更接近于用户的感知。从上表可以得出结论,在pbzip2启用3线程压缩的前提下,无论是压缩单个文件还是压缩目录,时间都比单线程bzip2压缩快了将近3倍,并且压缩率基本相同。
