2008/02/08

7-ZIP VS WINRAR

WINRAR我想不用太多解釋了
7-ZIP亦是一個壓縮軟件,不同的是7-ZIP是開放源代碼,而且是免費的
根據一般說法,都指7-ZIP的壓縮能力更勝一籌
現在就來測試看看,到底哪方更優秀

測試平台: 撒拉布列特汗血馬(電腦名稱,可以不理XD)
INTEL E6400
A-BIT AB9PRO
Corsair TWIN2X2048-6400 DDR2-800 2G Kit
HIS Radeon X1650Pro PCI-E 256M DDR2 IceQ
Seagate ST3250620NS
Seagate ST3250820A
Western Digita WD5000AAKS
Pioneer DVR-111DBK
ENERMAX Liberty ELT500AWT

為免作業系統影響結果
測試是於DATA HDD的ST3250820A上進行

因為用途取向(?),以下皆是測試BMP的壓縮能力
基本上BMP本身是一種挺多可壓縮空間的格式
至於JPG的格式段述

首先是單檔案壓縮能力
一張102 MB (107,406,054 位元組)的bmp
(請別問哪找來這麼大的)
因為作為實驗的7-ZIP 4.42版提供了三種不同的壓縮方式
而且有不同的"字典大小"和"字組大小"
所以一共有3*2*2=12種不同的結果

7-ZIP 4.42版

壓縮方式:LZMA
字典大小:64KB
字組大小:8
平均CPU使用:67%
壓縮時間:31s
PF用量:8MB
73.1 MB (76,670,531 位元組)

壓縮方式:LZMA
字典大小:64KB
字組大小:273
平均CPU使用:70%
壓縮時間:32s
PF用量:9MB
73.0 MB (76,546,993 位元組)

壓縮方式:LZMA
字典大小:128MB
字組大小:8
平均CPU使用:80%
壓縮時間:1m32
PF用量:1.32GB
73.9 MB (77,577,036 位元組)

壓縮方式:LZMA
字典大小:128MB
字組大小:273
平均CPU使用:85%
壓縮時間:1m42s
PF用量:1.32GB
73.6 MB (77,201,360 位元組)


壓縮方式:PPMb
字典大小:1MB
字組大小:2
平均CPU使用:55%
壓縮時間:52s
PF用量:6
76.8 MB (80,626,706 位元組)

壓縮方式:PPMb
字典大小:1MB
字組大小:32
平均CPU使用:54%
壓縮時間:1m3s
PF用量:3
79.4 MB (83,288,848 位元組)


壓縮方式:PPMb
字典大小:1024MB*註
字組大小:2
平均CPU使用:52%
壓縮時間:28
PF用量:1.00GB
66.6 MB (69,930,179 位元組)


壓縮方式:PPMb
字典大小:1024MB*註
字組大小:32
平均CPU使用:55%
壓縮時間:1m49s
PF用量:1.00GB
64.5 MB (67,709,931 位元組)



壓縮方式:BZip2
字典大小:100KB
平均CPU使用:96%
壓縮時間:12m18s
PF用量:27MB
76.6 MB (80,424,125 位元組)


壓縮方式:BZip2
字典大小:900KB
平均CPU使用:100%
壓縮時間:4m39s
PF用量:26MB
70.7 MB (74,151,909 位元組)

===========================

winrar 3.51版
最佳壓縮 建立結實的壓縮檔
平均CPU使用:50%
壓縮時間:1m
PF用量:35MB
70.2 MB (73,706,767 位元組)


*註:7-ZIP 4.42版以PPMb壓縮時提供了最高1536MB的字典大小
但選擇1536MB的造會出現錯誤訊息『Can't allocate required menory』
所以選擇1024MB


在單獨壓縮的項目
7-ZIP以PPMb模式險勝WINRAR
因為測試順序是RAR→LZMA→BZip2→PPMb
在測PPMb時末日幾乎連眼也突了出來,大跌眼鏡


當爾,單體壓縮並不能全而反映其壓縮能力
於事末日找來另一組
370張每張1047KB的BMP,
一共508 MB (532,819,980 位元組)的資料夾
圖以數張為單位連續變化,簡單說就是GAME的CG啦
到這兒為了簡化過程,就減少了部份記錄


7-ZIP 4.42版

壓縮方式:LZMA
字典大小:128MB
字組大小:273
壓縮時間:7m44s
64.0 MB (67,205,335 位元組)

壓縮方式:PPMb
字典大小:1024MB
字組大小:32
壓縮時間:4m01s
83.4 MB (87,470,748 位元組)

壓縮方式:BZip2
字典大小:900KB
壓縮時間:---(忘了看,超過20分鐘)
186 MB (195,310,880 位元組)

===========================

winrar 3.51版
最佳壓縮 建立結實的壓縮檔
壓縮時間:2m50s
PF用量:35MB
102 MB (107,563,629 位元組)


很明顯了
在大量檔案壓縮的表現上
7-ZIP以接近一倍的比率遠勝於WINRAR
LZMA在這一環節表現反過來比PPMb更優秀
似乎LZMA在壓縮複數檔案時會有比較好的效果
至於BZip2....算了吧

除此之外,末日亦發現了一個現像
於是再進行多一組實驗
對像是三張每張1047KB的BMP
其中兩張圖案幾乎相同的(以下以A和B代稱)
另一張則完全不同(以下以C代稱)
然後把A複製一張(以下以A'代稱)
以兩張的組合
一共2.74 MB (2,880,108 位元組)的圖檔
(1)單獨A (2)A+B (3)A+C (4)A+A'
以下圖片依順序分別是A,B,C





壓縮方式:LZMA
字典大小:128MB
字組大小:273
(1) 535 KB (548,152 位元組)
(2) 548 KB (562,046 位元組)
(3) 1.07 MB (1,127,479 位元組)
(4) 535 KB (548,483 位元組)

壓縮方式:PPMb
字典大小:1024MB
字組大小:32
壓縮時間:4m01s
(1) 514 KB (526,597 位元組)
(2) 557 KB (571,121 位元組)
(3) 1.14 MB (1,204,791 位元組)
(4) 543 KB (556,783 位元組)

winrar 3.51版
最佳壓縮 建立結實的壓縮檔
(1) 562 KB (576,156 位元組)
(2) 698 KB (715,611 位元組)
(3) 1.13 MB (1,188,027 位元組)
(4) 629 KB (644,211 位元組)


用(1)作對照
理論上(2)和(3)應該大致相同,而且是(1)的兩倍
但結果是(2)遠比(3)小,而且非常貼近(1)
於事再作(4)的實驗
結果(4)比(2)更小,更進一步貼近(1)
在LZMA的環境下,(1)和(4)僅差微不足道的331位元組(0.06%)
進一步肯定『相似的檔案在壓縮時會變小』的想法

最後是JPG的壓縮
基本上JPG是一種已經壓縮過的格式
再加以壓縮也沒有明顯效果
在單體壓縮時甚至會出現壓縮檔比原檔更大的現像
不過如果對像是只有少量連續變化的GAME CG
還是可以作一定程度的壓縮的
在這領域上,7-ZIP的LZMA仍然是勝WINRAR一籌


明顯的,7-ZIP在壓縮比上完全的勝過WINRAR
另一方面,因為支援多緒執行的關係
在雙核心的加持下,為人詬病的壓縮速度已經有大幅的提升
(這方面WINRAR 3.60版以後已經支援多緒執行)
加上開源碼帶來的免費使用權
同時新版的7-ZIP已經支援解壓*.rar格式
(同時,WINRAR亦已經支援*.7z解壓)
實在沒有回頭用RAR的理由

沒有留言: