gz与xz对比

阅读: 2980 | 文章分类: Linux | Tag: 压缩  

gz和xz性能对比 以前总以为gz的压缩比是最高的,最近用上了xz之后发现它的压缩比更高,但相对效率的话还是gz高些,下面通过实验结果来证明 # 环境声明 操作系统:centos7.5-1804 (虚拟机) 内存:1Gb 硬盘:20Gb SanDisk 处理器:i5-5200U 单核处理器 # 压缩 这里为了演示,所以我生成了一个大约200M的纯文本文件 ``` [root@localhost ~]# ll 总用量 204048 -rw-r--r--. 1 root root 208945008 11月 16 09:23 test ``` 在压缩之前,我为了捕捉压缩的总时长,所以我在压缩前压缩后都执行打印时间,这样就能很好的知道它的压缩总时长是多长。 ## gz压缩 ``` [root@localhost ~]# date +%s && tar zcf test.tar.gz test && date +%s 1542332060 1542332070 ``` 从上面执行的时间来看,使用tar.gz压缩一个200M的纯文本格式需要10秒钟 ## xz压缩 ``` [root@localhost ~]# date +%s && tar -Jcf test.tar.xz test && date +%s 1542332092 1542332198 ``` 从上面的执行时间来看,使用tar.xz压缩一个200M的纯文本文件需要106秒 # 对比 压缩完成后我们需要看下文件大小来看看压缩比是多大 ``` [root@localhost ~]# ll 总用量 263268 -rw-r--r--. 1 root root 208945008 11月 16 09:23 test -rw-r--r--. 1 root root 58453391 11月 16 09:34 test.tar.gz -rw-r--r--. 1 root root 2184052 11月 16 09:36 test.tar.xz ``` 第一个文件是原文件,第二个是tar.gz的压缩方式压缩后大小是58453391换算大约是56M,而第三个是tar.xz的压缩方式压缩后大小是2184052换算大约是2.1M,所以压缩比是很高的,为了更直观我就多ll -h查看文件 ``` [root@localhost ~]# ll -h 总用量 258M -rw-r--r--. 1 root root 200M 11月 16 09:23 test -rw-r--r--. 1 root root 56M 11月 16 09:34 test.tar.gz -rw-r--r--. 1 root root 2.1M 11月 16 09:36 test.tar.xz ``` 从压缩时长来看,xz的压缩时长明显要高出10倍多,压缩效率并不是很高,但从压缩比来说,xz是比gz要好的 ## gz解压时间 ``` [root@localhost ~]# date +%s && tar xf test.tar.gz && date +%s 1542339869 1542339871 ``` ## xz解压时间 ``` [root@localhost ~]# date +%s && tar xf test.tar.xz && date +%s 1542339897 1542339899 ``` 从解压的时间上来看,其实两者都没有任何太大的区别,解压效率还是蛮高的。 总结:如果服务器的性能较好,又因要求压缩比较高,可考虑选择使用xz进行压缩,但如果服务器性能不是很好,那gz更适合一些。