WinRAR vs 7zip压缩性能实测

发布时间:

最后更新:

关键词: 7zip WinRAR 压缩率 性能

1. WinRAR与7zip简介

WinRAR是由Alexander Roshal开发的一款压缩软件,用来压缩和打包各种文件,其最初的文本压缩算法基于 Dmitry Shkarin 的 PPMII。RAR的意思是Roshal ARchive。WinRAR现在的公司叫win.rar GmbH,总部在德国柏林,官方网站为www.rarlab.com

WinRAR是商业软件,不开源,需要购买许可证才能使用。不过其公司对个人使用并不怎么管,只需复制一个注册密钥文件即可破解,所以有许多用户都选择了它,特别是国内大量的软件站都使用了WinRAR,使其市场占有率一直居高不下。

7-Zip是一款完全免费而且开源的压缩软件,官网www.7-zip.org。7-Zip的大多数源代码都基于 GNU LGPL 许可协议下发布,您可以在任何一台计算机上使用 7-Zip ,包括用在商业用途的计算机,不对 7-Zip 进行捐赠或支付并不影响您的使用。7-Zip 使用了 LZMA (Lempel-Ziv-Markov chain-Algorithm)与 LZMA2 算法,拥有极高的压缩比。

7-Zip相比其他软件有更高的压缩比但同时耗费的资源也相对更多,但在解压缩和压缩率方面是优于WinRAR的。而且它免费的授权对于企业来说是首要的选择。

2. RAR与7-Zip之争

压缩软件哪家强?这没有一个统一的定论,因为各种压缩软件都有各自的优势,比如压缩软件的老祖zip,几乎任何地方都能压缩和解压zip文件;在Unix和Linux系统中还经常用到gzip,bzip。除了这些通用的以外,还有用于写入光盘的ISO,Windows映像所使用的wim,古老的cab等压缩程序。但是在Windows通用文件压缩上,这场论战的焦点则集中在了7-Zip和WinRAR上。

关于两方的优缺点,已经有许多的观点:

  • RAR的界面还看得过去,但是7-Zip自带的界面实在是太丑了,不过好在有第三方GUI支持两者,比如Bandizip。
  • 7z的LZMA2算法压缩率 比WinRAR的RAR5算法具有更高的压缩比。
  • 7zip免费且开源,而WinRAR是要付钱才能使用的。
  • RAR有着更多的附加功能,比如恢复记录,允许在网络传输和过程中发生数据错误而仍能正常解压。
  • RAR背后是商业公司在支持,有完整的产品流程,功能上没出现过很严重的问题。
  • RAR的中文版现在加了广告,而且即使注册了也不能去除,十分恶心。
  • ......

这场旷日持久的争论一直持续着,但只有事实才能说服一切,今天我就来实际测试一下到底他俩的性能如何。

测试机是我平时使用的破本子;4G内存;CPU是I5-4200M;硬盘是自带的5400转机械硬盘;系统为WIN8.1 64位,安装了所有更新。

被测试的两方选手都是当前最新的版本:

  • 7-Zip 17.01 Beta,于2017-08-28发布
  • WinRAR Version 5.50英文版,2017-8-14发布

测试的对象分为5大文件类型:程序文件,压缩图片,压缩音频,文本文件和压缩视频,这5类基本涵盖了压缩软件的使用场景,另外还附带了一个随即内容文件类型作为搞笑。之所以这么分是因为WinRAR和7Zip都属于字典算法,对于不同类型的内容效果是不一样的,网络上的评测都是对于某一类文件,这就有点不客观。

对于每一种类型的文件,将测试两者在1-32M(2的幂数)字典下的性能表现,由于我机子配置低,在测试7-ZIP 128M的字典时内存爆了,所以字典的选择不是很大。

整个测试使用程序监控保证了数据的准确性,这个是程序博主花了一上午自己写的,测试指标包括压缩率、压缩时间、压缩时内存峰值。压缩参数上使用了最大压缩率的设置。

7-Zip压缩参数: -t7z -mx=9 -m0=LZMA2 -ms -mf -mhc -mhcf -md{字典大小}

WinRAR压缩参数: -IBCK -m5 -S -DS -md{字典大小}

3. 程序文件压缩测试

第一轮测试的的目标是Adobe家的某软件的精简版,大小430 MB,主要内容是dll文件。

可以看出在压缩率方面,7Zip压出来的文件比WinRAR要小一些,但是WinRAR具有更快的压缩速度,几乎比7Zip快一倍。内存上7Zip随着字典的增大内存消耗的增长速度明显大于WinRAR。

4. 压缩音频类型文件测试

这里所说的压缩音频,指的是像MP3、FLAC、APE等格式,它们本身对音频信息做了压缩,现在大多数音频文件都是压缩过的,FLAC、APE等无损编码能够做到不损失音质的情况下减少文件体积,原始的wav格式使用的就比较少了。

本轮文件包含了10个FLAC音频和40个MP3音频,大小总计414M。

本轮的压缩率一直接近100%,说明了对于已经压缩过的音频文件来说,再压一遍意义不大。时间消耗上两者在不同字典大小下有着不同的表现。内存方面依旧是7Z越来越高。

5. 压缩视频类文件测试

与上一轮的测试差不多,不过音频换成了视频,一共有5个文件,是文明5的开场动画,wmv格式,总共461MB。

压缩率只比音频低了3个多百分点,两者都徘徊在95%以上,对于压缩过的视频(除了发视频的机构外不会有人去保存不压缩的视频吧)其实也没必要再去压缩。

6. 压缩图片类文件测试

本轮我们的两位选手需要压缩500张图片,大部分的图片是JPG格式,同时还参杂了少量的PNG和GIF,总计大小420MB。

压缩率上面依旧是惨不忍睹,时间上WinRAR表现的有些不稳定,7Zip的内存消耗依旧是后劲十足。

7. 文本类文件测试

从网上随便下载了895本中文小说,总大小460MB

对于自然语言文本,压缩的效果还是很明显的,压缩率上依旧是7-Zip领先大约3个百分点,而WinRAR在压缩时间上则更为优势。

8. 随...随机内容文件

了解过文件压缩算法的都知道,文件里重复的内容越多,压缩效果就越好。那么对于压缩软件来讲,最坏的情况就是内容完全随机了,因为这根本就没法压,本轮的文件是由程序生成的200个内容完全随机的2M文件。

时间和内存的图就不上了,这种情况根本就是搞笑的,没有任何实际的意义。由于压缩文件自身也会拥有一些信息,所以压了之后比不压还大。

9. 总评

在上面的测试中,我的4核CPU都跑满了,所以也不知道更多核的情况下是否真的有7Z厨所说的多线程优势。另外本文只测试了压缩的性能,而解压方面尚未实验,以后有了更好的机器博主将做一个更全面的测试。测试程序等博主整理下代码后将上传,以供大家自己测试。

总体来说,对于可以压缩的文件(程序,文本,或者其他未压缩过的内容),字典越大压缩比也就越高,当然由于机器的原因,很遗憾没能测试到非常大的字典。而对于已经经过特定领域压缩算法压缩过的文件(上面的视频、音频和图片),使用压缩软件再压一遍意义不大,对于此类文件建议把压缩强度设置为存储,即只打包不压缩。

相比之下,使用LZMA2算法的7-Zip压缩率比WinRAR5算法稍好。压缩所需的时间在可压缩文件上WinRAR则更为领先。内存的消耗上WinRAR随着字典大小的增加上升较为平缓,而7-Zip则是急剧上升。

综上,这两种压缩软件各有优势,7-Zip适合对压缩率追求较高的用户,或是自由免费和开源的支持者。WinRAR综合素质很高,各方面都比较平衡,但是其需要收费,当然如果你是个人用户且不在意授权这个问题,它也是不错的选择。

评论加载中