首页 > 代码库 > 关于压缩软件gzip和xz的简单对照

关于压缩软件gzip和xz的简单对照

晚上因为处理磁盘报警的须要。进行了日志压缩,在此次压缩中分别使用了gzip和xz软件对文本进行了压缩。压缩的结果很令人诧异。


 

出于对xz好奇的原因是因为在下载内核源码时常常能够看到.xz格式的文件包。并且其大小比.gz和.bz2格式的文件都小一些。

首先简介一下gzip和xz:

  1. gzip:GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNⅨ系统的文件压缩。我们在Linux中常常会用到后缀为.gz的文件。它们就是GZIP格式的。现今已经成为Internet 上使用很普遍的一种数据压缩格式。或者说一种文件格式。关于gzip更具体的具体介绍能够參见百度百科。

  2. xz:xz是一种压缩文件格式。採用LZMA SDK压缩,目标文件较gzip压缩文件(.gz或·tgz)小30%。较·bz2小15%。更具体的介绍能够參见维基百科。

 

这里因为磁盘空间有限,我们使用的是-9參数来进行压缩,使用每种压缩的最高压缩比。使用的名利例如以下:

  1. gzip:gzip -9 -c source_filename > source_filename.gz
  2. xz:xz -9 -c source_filename > source_filename.xz

终于測试结果例如以下图所看到的:
技术分享

从图中能够看出源文件iqas-2015-07-28的大小为35G,经过gzip的压缩。终于文件为4.6G的大小,压缩比大约为1:8,这已经是一个很好的成绩了。可是再来看下经过xz压缩后的文件的大小为401M。这相比gzip来说又小了一个数量级,压缩比接近1:90,这对于文本存储来说无疑是节省了大量的空间。可是须要注意的是xz的9级压缩很耗时间和内存,假设时间和内存足够的情况下,能够考虑该方法,假设时间和内存比較紧。则建议使用gzip。

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

关于压缩软件gzip和xz的简单对照