完全看懂》誰來打敗7-Zip? (中)

‧
電腦王雜誌 2007/01/26

7-Zip的壓縮介面有很多細部選項,「壓縮方式」一般是選LZMA壓縮,文字檔的話可以換PPMd或BZip2,字典檔大小會隨著壓縮等級自行調整,極致壓縮是64MB,不過可以從選單中拉到128MB。

【文/吳文辰】
█7-Zip 4.43 Beta
優點:免費、壓縮率頗高、調整選項豐富
缺點:壓縮速度慢
》支援格式
壓縮/解壓縮:7z、Zip、BZip2、GZip、TAR
純解壓縮:RAR、ARJ、Z、LHA、ISO、CAB
演算法:LZMA、PPMd、LZ77、BWT
》軟體資訊
大小:842KB
價格:免費
官方網站:http://www.7-zip.org
下載網址:http://nchc.dl.sourceforge.net/sourceforge/sevenzip/7z443.exe
前面的ZIP、RAR、ACE都是在類似的演算法上做改良,32KB和4096KB的字典檔上限對現在動不動就數GB的檔案實在有點過時了,加上硬體速度突飛猛進,7-Zip於是拋開過去的包袱,採用更複雜的數學式演算法,加上最高可到1GB的字典檔(瘋了……),打算用暴力法提高壓縮率。由於成果顯著加上開放原始碼,有超大社群在背後推動,這全新格式硬是在短短六年內就流行起來。
7-Zip的壓縮介面有很多細部選項,「壓縮方式」一般是選LZMA壓縮,文字檔的話可以換PPMd或BZip2,字典檔大小會隨著壓縮等級自行調整,極致壓縮是64MB,不過可以從選單中拉到128MB。若閒得發慌想挑戰7-Zip的極限,可以在最下面「參數」列自行加上變數,比如:「0 =lzma:d200m」就是用LZMA壓縮,字典檔200MB。但是字典檔是用來比對壓縮字串的,設愈大佔用的記憶體愈高,64MB就已經用到 700MB了,要玩參數請先確定自己的電腦夠力。
測試証明新的演算法和加大的字典檔很有效,整體壓縮率大幅超越前面三個,除了幾種多媒體檔之外,或許7-Zip沒有針對這些檔案做最佳化。不過,壓縮速度就犧牲不少,就算加入多執行緒,大概也只剩WinRAR的一半,幸好解壓縮的速度不相上下。7-Zip開發速度極快,未來表現應該會更好。
 |
| 7-Zip的功能都可以從右鍵選單完成,所以主介面就隨便做做了。 | |
 |
| 主壓縮視窗的細部選項很多,不過中文介面應該幫助很大。其中「結實壓縮檔」就是前面提到的「Solid archive」。 | |
 |
| 7-Zip很貼心地為超頻狂附帶測試功能,壓縮是掃瞄比對字串,所以主要取決於記憶體延遲;解壓縮是還原資料,主要是看CPU的整數運算能力。嘿嘿,筆者的控肉新電腦真是快。 | |
█WinUHA 2.0 RC1
優點:壓縮率很高,尤其是文件與多媒體
缺點:壓縮速度很慢
》支援格式
壓縮/解壓縮:UHA
純解壓縮:無
演算法:PPM、LZP、LZ77、ARI
》軟體資訊
大小:1.3MB
價格:免費
官方網站:http://www.winuha.com
下載網址:http://tinyurl.com/y6xbpp
UHARC才是這個壓縮法的真名,它只有難用的命令列,幸好它完全免費,所以就有人幫它開發視窗介面,WinUHA是其中一套,還有另一套FileCompress。WinUHA的介面和選項設計的比較好,所以這裡就用WinUHA來測試。
UHARC用的是獨門的ALZ演算法,是ARI與LZ77的組合,和7-Zip所用的LZMA(Range+LZ77)非常類似。和7-Zip不同的是, UHARC有針對常見的文件和多媒體檔做最佳化。在壓縮視窗中有針對文件的PPM選項,而它比7-Zip混用的演算法更複雜,可把文字檔壓到只有7z的一半大,還只用到較小的字典檔(UHARC字典檔上限是32MB)。使用ALZ-3最大壓縮再加上「Multimedia Compression」多媒體最佳化,可以取得比前面所有軟體更高的壓縮率,因此實際壓縮遊戲時,就達到最高的壓縮率。
可惜UHARC的壓縮速度很慢,要比7-Zip多花2~5倍的壓縮時間,才能提高1~2%壓縮率,解壓縮速度也只有7-Zip的一半,怎麼算都不值得。不過UHARC在多媒體檔的表現很好,所以一些洋A片網站為了節省頻寬會用.uha格式(啊!自爆),平常倒是很少看到人用這個格式來傳檔。
WinUHA在本次測試中拿下最高的整體壓縮率,但它並不是真的王者,下一套才是!
 |
| WinUHA主介面可以顯示壓縮檔所用的演算法,和壓縮率(百分比愈小,檔案壓的愈小),沒別的了。 | |
 |
| 主要壓縮介面中,可以選擇不同的壓縮法,一般是選ALZ-3或PPM。壓多媒體的話可以另外勾「Multimedia Compression」,字典檔最大可到32MB。 | |
 |
| 在「Advanced」下可以調整壓縮時的CPU佔用度,原本預設是「Idle」,大概會壓好幾個小時,最好設到「High」。 | |
█WinRK 3.03 Beta
優點:驚人的壓縮率
缺點:傻眼的壓縮速度
》支援格式
壓縮/解壓縮:RK、ZIP、TAR、GZip、BZ2、ISO
純解壓縮:RAR
演算法:PPMD、PPMZ、ROLZ、CM
》軟體資訊
大小:2.8MB
價格:美金29.95元
官方網站:http://www.msoftware.co.nz
下載網址:http://www.msoftware.co.nz/file_download.php?file_id=36
如果你看這篇文章之前有聽過WinRK,那你才是真‧電腦王。我們會納入這套超冷門壓縮軟體,純粹是因為它實在太特別了。事實上,WinRK 3.03 Beta並沒有開放測試,官網上是抓不到的,但在「大家都知道的地方」很好找到。
WinRK使用的是目前最強的CM演算法,而且是這種演算法中唯一有視窗介面的(另一個PAQ8H只有指令模式),它的宗旨就是「不計一切代價來壓縮」。 WinRK在我們的分項測試中,大約都有比WinUHA高出1~3%的壓縮率,只有純文字和tif圖檔小輸WinUHA,但最後壓遊戲時卻輸了1%不到,只小贏7-Zip,可能遊戲有太多未壓縮圖檔和文字吧?不然就是WinRK程式有問題了。儘管整體壓縮率輸給WinUHA,WinRK仍然是本次的冠軍……因為我們只用了第二高的「High」選項做測試。
WinRK 3.03還在Beta,只要開到最高壓縮率就會當掉,最高的Maximum壓縮選項需要800MB以上的實體記憶體,可是我們加RAM或改虛擬記憶體都解決不了,但光是「High」就幾乎打敗所有人,可以想像Maximum的壓縮率一定所向披靡。可是WinRK的壓縮速度也很扯,大概需要WinRAR的 20~30倍時間(驚!),而官網上的測試則表示Maximum需要的時間是High的10倍(大驚!),可能壓個Word檔都要枯等到人類滅絕吧!
 |
| 以一套這麼冷門的壓縮軟體來說,WinRK的介面還蠻可愛的,只是沒有右鍵選單就鳥掉了。 | |
 |
| WinRK的壓縮率選項超多,每一項下面都會提示它的壓縮及解壓縮速度,筆者只能說,上面的數字實在太樂觀了。 | |
 |
| WinRK也有多執行緒技術(SMP),但測試時只要一開就當機。 | |
█測試結果與壓縮演算法
雖然每套壓縮軟體對於各類型檔案有不同的結果,但純壓縮率比較大致上是:
WinRK>WinUHA>7-Zip>WinRAR>WinACE>WinZip
其他壓縮軟體
本篇主要是針對有自家格式的壓縮軟體,但它們通常會授權別人使用壓縮和解壓縮的技術,因此ZIP或7z還蠻多軟體支援的。解壓縮的話,為了推廣自家格式,通常是免費的。如果你想一次搞定多種壓縮格式,又不想裝一堆軟體弄髒寶貝Windows,那PowerArchiver或ExtractNow就很好用了。
|
進一步比較各種檔案的話,WinUHA最適合純文字的文件與多媒體檔,在這兩種檔案上幾乎沒有對手。7-Zip則對於二進位檔有絕佳的壓縮率,原本以為7 -Zip會全面擊敗WinRAR與WinZip,但WinRAR與WinZip壓一些多媒體檔有時反而勝過7-Zip,特別是常見的MP3、DivX與 JPG檔,應該是軟體自動偵測這些熱門檔案並最佳化。不過,當我們實際壓縮一套遊戲時(多媒體檔佔大多數),WinZip和WinRAR所做的最佳化,還是不足以追上7-Zip在二進位檔上的優勢,甚至連WinUHA都只能勉強勝過7-Zip。
大魔王當然是WinRK,幾乎在所有檔案格式上都超越其他軟體,是名符其實的壓縮王(好鳥的稱號XD)。是什麼造成壓縮率上的差別?前面提到不少,就是壓縮軟體所用的演算法。
演算法
在前面的壓縮軟體介紹中,大家會發現有Huff、LZ、PPM或字典檔等字眼,那些是軟體所用的編碼演算法縮寫,現在除非實驗性質,不然商業軟體為了取得各種檔案的高壓縮率,都會混用多種演算法,再針對不同檔案做調整最佳化,或許像7-Zip那樣讓玩家自己挑,也有像WinZip、 WinRAR軟體本身會判斷。
現在我們已經知道壓縮王是誰,不妨來研究一下它們所用的演算法有什麼特別,所有演算法的目標都一樣:用較小的代碼來置換原本的字串。那些 Huff、LZ、BWT大多是發明該演算法的人名,我們盡量簡單介紹,不帶到數學公式,但強者的名字是一定要提的,跟那些天才相比,我們的腦袋大概只有花生那麼大。
| 演算法列表 |
| 演算法縮寫 |
全名 |
| ARI |
Arithmetic coding |
| BWT |
Burrows-Wheeler Transform |
| CM |
Context Mixing |
| Huff |
Huffman coding |
| LZ |
Lempel-Ziv compression |
| LZW |
Lempel-Ziv-Welch compression |
| PPM |
Prediction by Partial Match |
| SF |
Shannon-Fano coding |
【PChomeAdvance電腦王30期】