Packer für Windows (08-2004)

Wieder einmal ist es soweit und ich habe einen Packer gefunden, der besser packt und dabei noch verwendbar schnell ist. Daraufhin habe ich wieder einmal einen Packer-Vergleichstest gemacht.

Vorweg möchte ich erwähnen, dass es vier Arten von Packern gibt:

  1. Übliche bekannte Packer (Zip/PKZip/WinZIP, RAR) sind ziemlich schnell, komprimieren gut und haben eine gut benutzbare GUI. Die Formate sind verbreitet.
  2. Die Packer der zweiten Kategorie sind weniger verbreitet, packen aber deutlich besser und sind noch verwendbar schnell, d.h. vielleicht maximal 10 mal so langsam. Für mich persönlich reicht es, wenn ich mit einer Kommandozeilenversion rekursiv ein Verzeichnis packen und entpacken kann, eine GUI benötige ich nicht. Allerdings reicht es nicht, wenn ein Packer nur einzelne Dateien packen kann.
  3. Zuletzt gibt es noch Packer, deren Autoren das Schreiben der Algorithmen als Sport ansehen. Es geht hier darum, einen üblichen Satz von Dateien noch um ein paar Byte besser zu komprimieren als alle anderen. Die Laufzeit für die Kompression und auch die Dekompression wird außer acht gelassen. Diese Packer sind manchmal um den Faktor 100 und mehr langsamer als verbreitete Packer.
  4. Schließlich gibt es noch Packer, bei denen es stark auf die Geschwindigkeit ankommt. Die verwendeten Algorithmen können beispielsweise für Backkupprogramme oder die Implementierung von Dateisystemen mit Echtzeit-Kompression benutzt werden.

Mir geht es eigentlich nur um Packer der 1. und 2. Kategorie, d.h. verwendbar schnelle Packer mit möglichst guter Kompression.


Die glorreichen Sieben

Im allgemeinen habe ich die jeweils maximale Kompressionsstufe gewählt. Ausnahmen sind aufgeführt. Angetreten sind:

Zum Download der Programme benutzt bitte einfach eine Suchmaschine, dann findet ihr die jeweiligen Quellen schon.


Testsätze

Ich benutze Packprogramme vor allem vor dem Archivieren von Dateien auf CDs. Vorweg muss ich sagen, dass es beim Packen von Installer-Dateien von irgendwelchen Programmen und Treibern, die man aus dem Internet heruntergeladen hat, keine starke Rolle spielt, welchen Packer man nutzt, weil diese Dateien sowieso fast nicht weiter komprimiert werden können. Was übrig bleibt sind Verzeichnisse mit Programmen, die man direkt ausführen kann (die z.B. als zip-Datei im Internet herunterzuladen sind und vor dem erneuten Packen entpackt werden) und reine Datendateien (z.B. PDFs und TXTs). Die verwendeten Testsätze waren:

Alle Programmen liefen auf einem Athlon 3000+ mit 1 GB RAM und ausgeschalteter Auslagerungsdatei.


Ergebnis

Original
PKZip 8
BZIP2
LZOP 1.01
WinRAR 3.30
7-Zip 3.13
WinRK 1.1 build 2
UHArc 0.40
Spiel 1
242,2 MB
125,4 MB
112,4 MB
158,7 MB
108,7 MB
91,7 MB
(84% von RAR-Datei)
~88 MB
84,4 MB
Packen
1 Min.
5 Min.
11 Sek.
7 Min.
9 Min.
16 Min.
Entpacken
26 Sek.
60 Sek.
8 Sek.
< 1 Min.
90 Sek.
Spiel 2
182,3 MB
119,7 MB
98,7 MB
87,4 MB
(89% von RAR-Datei)
87,8 MB
Packen
35 Sek.
6 Min.
7 Min.
12 Min.
Entpacken
15 Sek.
15 Sek.
70 Sek.
Spiel 3
1187,3 MB
677,8 MB
648,8 MB
601,2 MB
471,5 MB
(78% von RAR-Datei)
476,3 MB
Packen
4 Min.
15 Min.
31 Min.
46 Min.
70 Min.
Entpacken
3 Min.
3 Min.
3 Min.
7 Min.
Installer
532,2 MB
477,5 MB
462,1 MB
472,6 MB
ISO
461,5 MB
225,7 MB
282,4 MB
187,3 MB
172,5 MB
(92% von RAR-Datei)
188,8 MB
175,7 MB
Packen
< 2 Min.
63 Sek.
11 Min.
19 Min.
38 Min.
25 Min.
Entpacken
< 2 Min.
< 2 Min.
PDFs
31,8 MB
27,7 MB
26,7 MB
26,5 MB
27,2 MB
26,5 MB
Packen
5 Sek.
60 Sek.
60 Sek.
3 Min.
2 Min.
Entpacken
4 Sek.
4 Sek.
4 Sek.
2 Min.
19 Sek.

WinRAR ist mein bisher bevorzugter Packer und damit Referenz. UHArc und 7-Zip haben sich als sehr gute Packer herausgestellt.

Ich finde das Ergebnis wirklich erstaunlich. RAR verwendet ja auch diverse spezielle Multimedia-Algorithmen (sieht man in den Einstell-Dialogen). Deswegen war ich echt überrascht, dass vor allem der nicht ganz 3 Jahre alte Packer UHArc soviel besser packt.

Sowohl UHArc als auch 7-Zip verwenden einen modifizierten LZ77-Algorithmus, also eigentlich nichts neues außer dass sie optimiert wurden.


And the winner is...

7-Zip! UHArc hat eine fast gleich gute Kompression, für 7-Zip und gegen UHArc sprechen aber:

Wenn übrigens jemand einen für meinen Zweck besseren Packer gesichtet hat (d.h. ähnlich schnell, noch besser komprimierend und in der Lage, ganze Verzeichnisbäume zu packen), würde ich mich über eine Mail freuen.


Tip für Total Commander-Nutzer

(PFAD)\uharc.exe m -r+ -ed+ -pr -m3 -mm+ -d2 -idle -md32768 archiv.uha

(PFAD)\uharc.exe x -op -idle *.uha

bzw.

(PFAD)\7za.exe a -r -mx=9 archiv.7z

(PFAD)\7za.exe x *.7z

jeweils auf einen Button gelegt, läßt einfachstes Packen und Entpacken zu. Außerdem kann man mit dem MultiArc-Plugin auch UHArc und 7-Zip in den Total Commander einbinden. Ich finde es aber oft praktischer, mit einem einzelnen Knopfdruck die Dateien einfach in dasselbe Verzeichnis zu packen, statt mit Alt+F5 und "OK" das Komprimieren zu starten. Leider unterstützt 7-Zip momentan kein Verschieben ins Archiv, d.h. die Quelldateien bleiben erhalten und man muß sie ggf. manuell löschen. Durch die MultiArc-Einbindung gewinnt man aber auf jeden Fall ein "Reinschauen" in 7z-Dateien und das Entpacken einzelner Dateien daraus.


Neuer Test mit 7 Zip 4.23 und UHARC 0.6

AUch im aktuellen Test (07/2005) kann man sehen, dass UHARC zwar die beste Packrate bietet, 7 Zip aber einen sehr guten Kompromiß zwischen Kompressionszeit und Packrate bietet.
-------------------------------------------------------------------------
DIR            PACKER+PARAM                          ORIG.SIZE RATIO TIME
--- PENTIUM 4 M 1,7 GHz -------------------------------------------------
gemischt\      Uharc_0.6.exe a -r+ -mm+ -m3 -md32768 111236120 0.796  373
gemischt\      7za_4.23.exe a -r -mx=9 -md=32m       111236120 0.801  189
gemischt\      7za_4.23.exe a -r -mx=5 -md=32m       111236120 0.802  242
gemischt\      Uharc_0.6.exe a -r+ -mm+ -mx          111236120 0.804  474
gemischt\      Uharc_0.6.exe a -r+ -mm+ -m3          111236120 0.806  273
gemischt\      Uharc_0.6.exe a -r+ -mm+ -m2          111236120 0.807  264
gemischt\      rar_3.42.exe a -m3 -r -tl             111236120 0.824   84
gemischt\      rar_3.42.exe a -m5 -r -tl             111236120 0.824   93
gemischt\      Uharc_0.6.exe a -r+ -mm+ -mz          111236120 0.844   48
gemischt\      7za_4.23.exe a -tzip -r -mx=9         111236120 0.863   77
gemischt\      7za_4.23.exe a -tzip -r -mx=5         111236120 0.864   35
installer\     Uharc_0.6.exe a -r+ -mm+ -mx          132723464 0.762  538
installer\     Uharc_0.6.exe a -r+ -mm+ -m3 -md32768 132723464 0.764  429
installer\     Uharc_0.6.exe a -r+ -mm+ -m2          132723464 0.767  305
installer\     Uharc_0.6.exe a -r+ -mm+ -m3          132723464 0.767  309
installer\     7za_4.23.exe a -r -mx=9 -md=32m       132723464 0.772  191
installer\     7za_4.23.exe a -r -mx=5 -md=32m       132723464 0.773  258
installer\     rar_3.42.exe a -m5 -r -tl             132723464 0.782  123
installer\     rar_3.42.exe a -m3 -r -tl             132723464 0.783  112
installer\     Uharc_0.6.exe a -r+ -mm+ -mz          132723464 0.814   55
installer\     7za_4.23.exe a -tzip -r -mx=9         132723464 0.815   91
installer\     7za_4.23.exe a -tzip -r -mx=5         132723464 0.816   38
progs_exe_dll\ 7za_4.23.exe a -r -mx=9 -md=32m       159107206 0.445  256
progs_exe_dll\ Uharc_0.6.exe a -r+ -mm+ -m3 -md32768 159107206 0.449  401
progs_exe_dll\ 7za_4.23.exe a -r -mx=5 -md=32m       159107206 0.450  245
progs_exe_dll\ Uharc_0.6.exe a -r+ -mm+ -mx          159107206 0.453  486
progs_exe_dll\ Uharc_0.6.exe a -r+ -mm+ -m3          159107206 0.458  300
progs_exe_dll\ Uharc_0.6.exe a -r+ -mm+ -m2          159107206 0.460  276
progs_exe_dll\ Uharc_0.6.exe a -r+ -mm+ -mz          159107206 0.506   61
progs_exe_dll\ rar_3.42.exe a -m5 -r -tl             159107206 0.517  102
progs_exe_dll\ rar_3.42.exe a -m3 -r -tl             159107206 0.522   75
progs_exe_dll\ 7za_4.23.exe a -tzip -r -mx=9         159107206 0.557  143
progs_exe_dll\ 7za_4.23.exe a -tzip -r -mx=5         159107206 0.559   55
txt_pdf\       Uharc_0.6.exe a -r+ -mm+ -m3 -md32768 146386602 0.712  492
txt_pdf\       Uharc_0.6.exe a -r+ -mm+ -mx          146386602 0.730  590
txt_pdf\       7za_4.23.exe a -r -mx=9 -md=32m       146386602 0.734  247
txt_pdf\       Uharc_0.6.exe a -r+ -mm+ -m3          146386602 0.734  355
txt_pdf\       7za_4.23.exe a -r -mx=5 -md=32m       146386602 0.735  306
txt_pdf\       Uharc_0.6.exe a -r+ -mm+ -m2          146386602 0.735  344
txt_pdf\       Uharc_0.6.exe a -r+ -mm+ -mz          146386602 0.761   75
txt_pdf\       rar_3.42.exe a -m5 -r -tl             146386602 0.763  111
txt_pdf\       rar_3.42.exe a -m3 -r -tl             146386602 0.770   88
txt_pdf\       7za_4.23.exe a -tzip -r -mx=9         146386602 0.790  120
txt_pdf\       7za_4.23.exe a -tzip -r -mx=5         146386602 0.791   48
--- ATHLON 2900+ --------------------------------------------------------
gemischt\      Uharc_0.6.exe a -r+ -mm+ -m3 -md32768 111236120 0.796  508
gemischt\      7za_4.23.exe a -r -mx=9 -md=32m       111236120 0.801  216
gemischt\      7za_4.23.exe a -r -mx=5 -md=32m       111236120 0.802  313
gemischt\      Uharc_0.6.exe a -r+ -mm+ -mx          111236120 0.804  669
gemischt\      Uharc_0.6.exe a -r+ -mm+ -m3          111236120 0.806  351
gemischt\      Uharc_0.6.exe a -r+ -mm+ -m2          111236120 0.807  337
gemischt\      rar_3.42.exe a -m3 -r -tl             111236120 0.824  124
gemischt\      rar_3.42.exe a -m5 -r -tl             111236120 0.824  130
gemischt\      Uharc_0.6.exe a -r+ -mm+ -mz          111236120 0.844   85
gemischt\      7za_4.23.exe a -tzip -r -mx=9         111236120 0.863   72
gemischt\      7za_4.23.exe a -tzip -r -mx=5         111236120 0.864   32
installer\     Uharc_0.6.exe a -r+ -mm+ -mx          132723464 0.762  754
installer\     Uharc_0.6.exe a -r+ -mm+ -m3 -md32768 132723464 0.764  584
installer\     Uharc_0.6.exe a -r+ -mm+ -m2          132723464 0.767  385
installer\     Uharc_0.6.exe a -r+ -mm+ -m3          132723464 0.767  392
installer\     7za_4.23.exe a -r -mx=9 -md=32m       132723464 0.772  246
installer\     7za_4.23.exe a -r -mx=5 -md=32m       132723464 0.773  360
installer\     rar_3.42.exe a -m5 -r -tl             132723464 0.782  185
installer\     rar_3.42.exe a -m3 -r -tl             132723464 0.783  177
installer\     Uharc_0.6.exe a -r+ -mm+ -mz          132723464 0.814   95
installer\     7za_4.23.exe a -tzip -r -mx=9         132723464 0.815   88
installer\     7za_4.23.exe a -tzip -r -mx=5         132723464 0.816   37
progs_exe_dll\ 7za_4.23.exe a -r -mx=9 -md=32m       159107206 0.445  291
progs_exe_dll\ Uharc_0.6.exe a -r+ -mm+ -m3 -md32768 159107206 0.449  508
progs_exe_dll\ 7za_4.23.exe a -r -mx=5 -md=32m       159107206 0.450  314
progs_exe_dll\ Uharc_0.6.exe a -r+ -mm+ -mx          159107206 0.453  664
progs_exe_dll\ Uharc_0.6.exe a -r+ -mm+ -m3          159107206 0.458  378
progs_exe_dll\ Uharc_0.6.exe a -r+ -mm+ -m2          159107206 0.460  349
progs_exe_dll\ Uharc_0.6.exe a -r+ -mm+ -mz          159107206 0.506   85
progs_exe_dll\ rar_3.42.exe a -m5 -r -tl             159107206 0.517  123
progs_exe_dll\ rar_3.42.exe a -m3 -r -tl             159107206 0.522  104
progs_exe_dll\ 7za_4.23.exe a -tzip -r -mx=9         159107206 0.557  138
progs_exe_dll\ 7za_4.23.exe a -tzip -r -mx=5         159107206 0.559   53
txt_pdf\       Uharc_0.6.exe a -r+ -mm+ -m3 -md32768 146386602 0.712  664
txt_pdf\       Uharc_0.6.exe a -r+ -mm+ -mx          146386602 0.730  824
txt_pdf\       7za_4.23.exe a -r -mx=9 -md=32m       146386602 0.734  311
txt_pdf\       Uharc_0.6.exe a -r+ -mm+ -m3          146386602 0.734  452
txt_pdf\       7za_4.23.exe a -r -mx=5 -md=32m       146386602 0.735  430
txt_pdf\       Uharc_0.6.exe a -r+ -mm+ -m2          146386602 0.735  437
txt_pdf\       Uharc_0.6.exe a -r+ -mm+ -mz          146386602 0.761  115
txt_pdf\       rar_3.42.exe a -m5 -r -tl             146386602 0.763  142
txt_pdf\       rar_3.42.exe a -m3 -r -tl             146386602 0.770  128
txt_pdf\       7za_4.23.exe a -tzip -r -mx=9         146386602 0.790  109
txt_pdf\       7za_4.23.exe a -tzip -r -mx=5         146386602 0.791   47