Summary of the multiple file compression benchmark tests


File type : Multiple file types (46 in total)
# of files to compress in this test : 510
Total File Size (bytes) : 316.355.757
Average File Size (bytes) : 620,305
Largest File (bytes) : 18,403,071
Smallest File (bytes) : 3,554

This test is designed to model 'real-world' performance of lossless data compressors. The test set contains a mix of different file types which are chosen with 'What do people use archivers for the most' in mind. The testset should contain data, weighted (in both type and proportion of files in the set) by how often these files are used for compression by normal users using compression software. So for example there will be more txt files then .ocx files in the set (yes, this is arbitrary). The set contains 100's of files and has a total size of over 300 Mb. The idea of a large collection is filtering out the 'noise'. A compressor might perform bad on 1 or 2 filetypes, but on a very large collection it will not hurt as much.

Some programs like CCM and BZIP2 can only compress one file at a time. For these programs a single TAR-file is created containing all files. The files in this TAR-file are ordered alphabetically on suffix, then name. Results of these compressors are marked with an 'Y' in the tarred column.

The testset consists of the following file types :

Filetype(s) Description % of total # of files
TOC, MBXEudora mailboxes12.31 16
EXE, DLL, OCX, DRVExecutables10.99 35
TXT, RTF, DIC, LNGText files in several languages10.21 41
BMP, TIFFBitmaps/TIF images7.88 15
LOGLog files6.34 6
HTM, PHPHTML files6.13 19
DOCMS Word files6.08 30
C, CPP, PAS, DCUSource Code6.00 235
MDB, CSVDatabases4.26 7
HLPWindows Help files4.23 7
CBF, CBGPrecompressed chess-databases3.55 2
WAVWave soundfiles3.45 9
XLSXLS Spreadsheets2.41 16
PDFAdobe Acrobat document1.59 6
TTFTrue Type Fonts1.15 15
DEFVirus definition files1.10 3
JPG, GIFImage files0.53 9
CHMPrecompressed help files0.49 2
INI, INFINI files0.42 10
OthersDAT,JAR,M3D,SYS,PPT,MAP,WP,RLL,RIB..10.88 27

Considering the fact it's supposed to be a 'real-world' test I will not look at the best possible (command-line or gui) switch combination to use for optimal compression, but only test a limited set as 'normal users' would do. For 7-zip this means for example I will use the GUI and select the Ultra compression method (which can be easily beaten with some good command line switches), WinRar will be tested with max dictionary size and solid archiving etc. Programs are allowed to use a maximum of 800 Mb memory and must finish the compression stage within 24h. Compressed size must be 50% or less compared to the original size to be listed on MFC.

For my single file tests I got lots of requests to add the compression time to the tables. I did not do this for the reasons stated in the single file summary file, but I'm planning to measure compression times for this multiple file test!. I also decided to make this testset 'non public', so it's harder for developers to tune their program towards this specific test. I think this is the most fair way to get 'real life' performance tests.

Scoring system: The program yielding the lowest compressed size is considered the best program. The most efficient (read:use full) program is calculated by multiplying the compression time (in seconds) it took to produce the archive with the power of the archive size divided by the lowest measured archive size. The lower score the better. The basic idea is a compressor X has the same efficiency as compressor Y if X can compress twice as fast as Y and resulting archive size of X is 10% larger than size of Y. (Special thanks to Uwe Herklotz to get this formula right)


score_X = POWER(2; ((size_X / size_TOP) - 1) / 0,1) * time_X

with  score_X     efficiency score for a certain compressor X
      time_X      time elapsed by compressor X
      size_X      archive size achieved with compressor X
      size_TOP    archive size by top archiver (smallest benchmark result)
Formula to calculate compressor efficiency based on compressed size and compression time
"0,1" represents 10% and power of 2 ensures that for each 10% worse results (compared
with top) the time is doubled, so any archiver (except top compressor) will get a
penalty on time. The score of top compressor is always equal to its time value.


Results sorted on Compression time (less time is higher speed in MB/s).

Pos Program Switches used TAR Compressed Compression Comp time Decomp time Efficiency
  Size (bytes) Ratio (%) (sec) (sec) lower is better
000TESTSETN3163557570.00
0
00
001THOR 0.96e1Y15193695451.97
3
640609
002QuickLZ 1.40b9mode1N15684000650.42
3
969038
003THOR 0.96e3Y12458865660.62
6
74209
004LZTurbo 0.92-21Y14413581554.44
6
734911
005LZOP 1.02rc1-1Y15499381451.01
7
6131912
006LZOP 1.02rc1(none)Y15538908950.88
7
6137678
007SLUG 1.27b(none)Y11418705163.91
12
112731
008SRANK 1.0(none)Y16411092948.12
13
13657171
009PACKET 0.01(none)Y14468658954.26
16
2398813
010BriefLZ 1.04(none)N15161187652.08
19
6248297
011QuickLZ 1.40b9mode3N13397390957.65
21
940678
012PKZIP 2.50(none)N11450126363.81
22
85179
013THOR 0.96e5Y11227511264.51
24
64440
014AIN 2.32(none)N11557693663.47
25
76612
015Tornado 0.4-5Y10574292266.57
27
132463
016GZIP 1.2.4(none)Y11544296463.51
28
77299
017PKZIP 2.50-exxN11402234763.96
28
86259
018WinXP (Built-in)(none)N11633727163.23
28
308041
019WINZIP 10.0NormalN11611342363.30
31
98689
020ESP 1.92(none)N11516457763.60
32
88094
021File2Pack 2.0(none)N11530590163.55
32
88219
022DZip 2.90(none)N11526988263.56
33
88443
023LZC 0.082Y14965190952.70
33
14348821
024FreeARC 0.50a-m2N9419581170.22
33
30863
025LZTurbo 0.92-43Y11521980163.58
34
188651
026ALZip 7.0b1(normal)N11849287762.54
36
1413055
027LHARK 0.4d(none)N11343906364.14
37
87764
028ARJ32 3.14(none)N11610522563.30
41
911482
029VuZip 1.8DefaultN11526112963.57
41
1110479
030 BCArchive 1.08.7(none)N11582112463.39
41
2811134
031EAZEL 1.0(normal)N11530976263.55
44
1111305
032DeepFreezer 1.06(none)N12335035161.01
45
1527606
033FlashZIP 0.033Y12422371460.73
50
3433714
034ARJ 2.84(none)N11610757263.30
53
1014846
035SR3a(none)Y11818319962.64
53
5918586
036HYPER 2.5(none)N12843987059.40
55
3258530
037CA-ZIP 3.4(none)N14024776255.67
61
8233011
038CODEC 3.21(none)N11476727563.72
62
4415022
039WinTurtle 1.60(none)N10356765867.26
64
714614
040GZIP 1.2.4-9Y11485797763.69
67
716394
041RINGS 1.5c5Y10580070366.56
72
746610
042UHARC 0.6b-mz -md32768 -mm+N9925115768.63
72
813253
043Chaos Comp 3.0(none)N12368156060.90
73
1446417
044WinTurtle 1.60SolidN10312967267.40
73
795019
045DZip 2.90-9N11468849063.75
76
818258
046WINIMP 1.21Normal MMN10039993668.26
82
94196
047LHARK 0.4d-tobN11187091564.64
83
814698
048FreeARC 0.50a-m3N8429057173.36
83
48743
049ARX 1.0(none)N13346419957.81
84
21153980
050TURTLE 0.07(none)Y11264674964.39
88
8316949
051VuZip 1.8MaxN11467960863.75
89
1121360
052JAR 1.02(none)N10116907168.02
89
164949
053AIN 2.32-m1N11516094763.60
94
723767
054TarsaLZP 21Aug2007(none)Y11099461464.91
94
11415140
055EAZEL 1.0(best)N11472837063.73
99
1223886
056QUAD 1.12(none)Y10821543465.79
106
5512638
057WINZIP 11.0Enhanced DeflateN11150329064.75
112
919060
058GRZipII 0.2.4-b8m -aY9748413669.19
117
1044366
059GRZipII 0.2.4(none)Y10168637067.86
118
1106940
060PPMd var J rev.1(none)N10274352567.52
122
1418045
061DC 0.99.307b(none)N9951711668.54
124
999995767
062WinRAR 3.71Fast solid 4096KbN10100835168.07
125
126831
063BSSC 0.95a(none)Y9581121869.71
127
573955
064SBC 0.970 rev3(none)N8624528872.74
127
701404
065LZOP 1.02rc1-9Y12960173359.03
132
7159296
066SQUEEZ 5.5Norm 4Mb M E SolidN9408262270.26
132
363409
067DC 0.99.307b-b4096N9659291869.47
133
999994507
068SZIP 1.12(none)Y10656717966.31
134
7013366
069SBC 0.970 rev3-b9N8574026572.90
134
711403
070UC II 3.05-TTN10635357466.38
136
1113255
071StuffIt 12.0Method=5 E26 bm=onN9606913969.63
136
1524355
072WINIMP 1.211 BEST MMN9902519968.70
137
96041
073RZIP 2.1(none)Y10541772366.68
137
5712067
074BZIP2 1.0.5(none)Y10772092365.95
138
3515596
075YBS 0.03f(none)Y10507408366.79
140
7011881
076BMA 1.34b(none)N9946829268.56
142
956569
077BA 1.01(none)Y9987309868.43
146
977056
078DARK 0.51(none)N10087706268.11
149
918028
079WinRAR 3.71Normal solid 4096KbN9054030071.38
152
102675
080DARK 0.51-b128mN10078545068.14
152
938109
081M99 2.1(none)Y11563211163.45
154
5140974
082QazaR 0.0 pre5(none)Y10816597965.81
155
10918381
083WINZIP 11.0Optimize for best comp.N9642011069.52
156
1585189
084FlashZIP 0.03x5Y12111839561.71
157
3575643
085WinHKI 1.74HKI1 maxN10639121866.37
158
3915462
086BioArc 1.9NormalN10001277768.39
158
1857753
087RZIP 2.1-9Y10530541866.71
161
6114009
088BioArc 1.9UltraN9969905868.49
164
1917779
089CTXf 0.75(none)N9003888471.54
165
1162751
090WinRAR 3.71Best solid 4096KbN8675817172.58
172
542010
091PPMd var J rev.1-m256 -o16N9673751569.42
172
1925921
092CABARC 1.00.0106LZX:17N10256188267.58
175
711315
093QUAD 1.12xY10696829166.19
176
5518334
094BIT 0.1(none)Y10478989166.88
177
4114895
095LZXQ 0.4normalY11449298763.81
177
27341631
096DURILCA light 0.5(none)N9682337669.39
178
1896184
097YBS 0.03f-m16mY10746234666.03
181
8919891
098WINZIP 11.0PPMdN9775431469.10
181
1976955
099FreeARC 0.50a(none)N7926098674.95
185
65961
100WinACE 2.69Norm 4096Kb solid ace20N8852629172.02
191
162703
101WINIMP 1.211 BEST MM 16Mb B=1020KbN9724109569.26
204
97416
102SEMONE 0.6 b2(none)Y11144268664.77
204
2834490
103PPMVC 1.2(none)N9715252069.29
206
2567417
1047-Zip 4.58bMax PPMD 64Mb ws=16N9757374969.16
207
2347801
105CTXf 0.75-meN8835799272.07
208
1592891
106DGCA 1.10(none)N8983430471.60
209
803408
107EPC 1.0(none)Y10125866667.99
209
23011736
108COMPRESSIA 1.0bsol dict 15 MbN8815278472.13
216
1542936
109M99 2.1-mY10571113766.58
224
9999920366
110WinACE 2.69Max 4096Kb solid ace20N8848523572.03
225
163171
111ACE 2.04-m5 -d4096N8848604372.03
227
153199
112WinHKI 1.74HKI2 normN10020800668.32
230
23711527
113StuffIt 12.0Method=3 E25 bm=onN9801753869.02
233
1229212
114SAR 1.0(none)N12206742361.41
236
20126006
115BIX 1.00 b7(none)N9969443268.49
237
1011235
116AR 1.0(none)Y12214734261.39
242
20130332
117HOOK 1.3800Y11127535164.83
244
25340512
118AMG 2.2(Max Compression)N11466275863.76
244
9999958454
119Tornado 0.4-11Y9995983868.40
249
1312148
120MAR-gN11255478664.42
252
1048055
121WinRK 3.0.3Fastest ROLZ3N8465202473.24
252
1652345
122SBC 0.970 rev3-m3 -b62N8473617673.21
253
922376
123PIM 2.10(none)N9206790070.90
259
2755378
124BruteCM 0.1d(none)Y10090260068.10
271
40714642
1257-Zip 4.58bNorm solid LZMA 16Mb ws=32N8847047772.03
274
173855
126CCM 1.30c(none)Y7859898075.15
277
2651339
127LZPX(J) 1.2h(none)Y9207518370.90
277
2805757
128MNZIP(none)Y9848804568.87
280
6411649
129FreeARC 0.50a-mxN7834873775.23
285
791341
130DST 0.91b(none)Y10338637667.32
287
11820289
131CCM 1.30c6Y7792692275.37
293
2811317
132BMA 1.34b-m16m -axN9670905269.43
301
12010329
133LZPX(J) 1.2h-8Y9145135971.09
301
3005847
134LZ2A(none)Y11529898363.55
305
4478276
135WinHKI 1.74HKI2 maxN9877107568.78
312
31913384
136UC II 3.05(none)N10560840666.62
313
1028143
137PPMVC 1.2-o16 -m256N9652507169.49
325
37510933
138Secura Archiver 1.7(none)N13987634855.79
334
71225561
1397-Zip 4.58bUltra solid LZMA 64MbN8723078972.43
338
174158
140SQUEEZ 5.5Max 8Mb M E SolidN8769330272.28
347
364488
141BIX 1.00 b7-mdG -sN9707914169.31
348
1012430
142LZ2A-Cb12 -Szd26Y11358889764.09
350
4174647
143UHBC 1.0(none)Y10099006268.08
363
29619799
144DURILCA light 0.5-m800 -t1N8166605674.19
366
1732465
145StuffIt 12.0Method=2 L3 E25 bm=onN8589206272.85
367
763906
146CCMx 1.30c6Y7707994975.64
369
3571513
147EPC 1.0-m256 -o18Y9879715968.77
382
9999916433
148ASD 0.2.0(none)N10910136065.51
404
13753014
149UHBC 1.0-b4m -m3Y10062322068.19
460
39924113
150UHARC 0.6b(none)N8495450673.15
479
664606
151PPMN 1.00b1 km(none)Y10118137068.02
501
50927898
152Ocamyd 1.66 test1(none)Y12426269060.72
519
518351428
153RZM 0.07h(none)Y8403037473.44
591
425142
154CABARC 1.00.0106LZX:21N9641228869.52
598
719873
155BALZ 1.07exY9850007868.86
602
4325078
156WinRK 3.0.3NormalN8067606774.50
614
1543716
157DST 0.91b-meY9356834770.42
624
46915243
158LZW 0.2(none)Y15328952051.55
645
1510107286
159aPLib 0.43(none)N11759676262.83
650
10213919
160QC 0.050(none)Y9905504468.69
665
25029417
161PPMN 1.00b1 km-O9 -M:50 -DAY9551381769.81
675
67820353
162UHARC 0.6b-mx -md32768 -mm+N7834487675.24
680
6103197
163CMM4 0.1e26Y8250474173.92
712
7165252
164DACT 0.8.41-b1000000Y10317608867.39
727
3750237
165DACT 0.8.41(none)Y10337871867.32
735
4151916
166CODER 1.1-ew 4194304N15878862149.81
849
27424125028
167QLFC 6.6w(none)N10293827667.46
883
7159467
168CHILE 0.3d(none)Y10607254266.47
890
15784145
169UFA 0.04b1(none)N9417563870.23
901
10223505
170QazaR 0.0 pre5-d9 -l7Y10486710566.85
922
25776509
171Bee 0.7.9 bld 0316-m2 -d8N9310349170.57
934
94821696
172HA 0.999ba21N10763741465.98
961
360107627
173SZIP 1.12-b41 -o40Y10579318366.56
963
19388336
174HPACK 0.79a(none)N12070201461.85
973
74448138
175CHILE 0.3d-b=2048Y10616556466.44
1092
160104288
176TC 5.2 dev2(none)Y8946477871.72
1107
111217344
177ABC 2.4(none)Y10366974467.23
1200
19487474
178ShipInBottle 1.0 b17alg:lzN11405109163.95
1244
49278928
179SQUEEZ 5.5Ultra 32Mb M E SolidN8280175473.83
1262
729613
180LPAQ88Y7870418675.12
1312
13216414
181UFA 0.04b1-mg -mx -mu32N9342829270.47
1348
35232433
182BigCrunch 0.4a1(none)N15750260050.21
1411
382934884919
183BOA 0.58b(none)N9685751569.38
1541
160553739
184PPMonstr J(none)N7844386275.20
1610
16207652
185LZPM 0.159Y9908365468.68
1615
2871664
186PPMonstr J-m800 -o16N7808641775.32
1628
16397444
187PPMonstr J-m800 -o32N7769968675.44
1672
16817332
188Bee 0.7.9 bld 0316-m3 -d8 -sN9200398070.92
1693
170234914
189QLFC 6.6wBS=8388608N10121754468.01
1793
78100233
190Quark 0.95r(none)Y8474131473.21
1818
8917083
191ZZIP 0.36c(none)N10384540467.17
1827
100135735
192DURILCA 0.5-m800 -t1 -o32N7224680877.16
1838
16284467
193QC 0.050-8Y9851093368.86
1865
57677783
194DURILCA 0.5-m800 -t1N7217536377.19
1997
17944816
195BOA 0.58b-m15 -sN9508046869.95
2003
203657629
196COMPRESSIA 1.0bmax sol dict 15 MbN8069834074.49
2081
9999912624
197Bicom 1.01(none)Y10394051367.14
2140
2172160634
198EPM r9(none)Y8272785273.85
2328
235017592
199WinUDA 0.291mode-0N7971066974.80
2366
235912898
200KGB 1.1 (PAQ6)(normal)N8656514272.64
2486
252728457
201EPM r9-m800Y8193490974.10
2497
251317317
202ACB 2.00cuN9505528969.95
2738
287078561
203777 0.04b1-mg -mu32N9022947771.48
2767
152847092
204SYMBRA 0.2-m5Y12212055861.40
2879
17331546035
205777 0.04b1(none)N9054438271.38
3151
163755487
206ASH 04a-m800 -s80 -o60Y14488550754.20
3229
218220375685
207Slim 0.23d-m800N7375670376.69
3490
34919988
208M03(none)Y9993465168.41
3519
568171218
209Slim 0.23d(none)N7378197376.68
3580
352410273
210Slim 0.23d-m800 -o64N7366468376.71
3665
360510384
211ENC 0.15-d256N8975052871.63
3735
9999960355
212ZZIP 0.36c-mx -a -6mN10239264367.63
4146
100263206
213ShipInBottle 1.0 b17alg:ppm :mem:128N10674242266.26
4204
4243427357
214KZIP 14-APR-2007(none)N11069493265.01
4719
8735810
215Quark 0.95r-l7 -d25Y8367356773.55
5438
9045521
216PIMPLE2(none)Y7962815774.83
5699
573130791
217ASD 0.2.0-m5 -mdgN10510974066.77
6296
415536351
218WinRK 3.0.3HighN6894783578.21
6317
396110742
219CTW 0.1(none)Y13468738057.43
6911
740514461790
220WinUDA 0.291mode-3N7373557476.69
7291
726320817
221UDA 0.301(none)Y7147876777.41
7457
747216677
222LCSSR 0.2-l9 -b6Y12637878760.05
7578
72336451940
223ENC 0.15abies -d256N8795559072.20
9088
99999120926
224AI 1.1(none)N14025973555.66
9153
1519335008476
225Ocamyd 1.66 test1-m8 -s0Y8288038573.80
12124
1211993141
226KGB 1.1 (PAQ6)(very good)N7534137576.18
15703
1580153346
227WinRK 3.0.3MaximumN6421776679.70
30603
2989931190
228BBB ver1m512Y10636476166.38
31957
13213118475
229PAQ8O8-7N6404211479.76
43660
4380743660
230PAQ8JC-6 (dir /oen)N6619113979.08
49154
4214462026
231PAsQDa 4.4-7eN6910918778.15
54855
5504194928
232PAQAR 4.5-7e (dir /oen/b)N6843571578.37
55430
5565989180
233AI 1.1-mtN10736515166.06
70444
981057660262


Green Compression Ratio (larger bar is better)   Red Compression Time (shorter bar is better)   Blue Efficiency Ratio (larger bar is better)

Remarks:
Ten programs so far crashed during compressing:
- Emilcont 0.3a
- RKC 1.02
- PPMZ2 0.81
- HIPP 0.5819
- OrangeArchiver 1.05
- PPMT 1.0
- HIP beta1
- LZ 1.0
- HuffComp 1.3
- Chile 0.5

- Some programs fail to correctly decompressing the archive created. Those programs are marked with a red penalty time of 99999 seconds. Do *not* use these programs to backup your data!.

- (De)compression time of ACB 2.00c is an approximation as ACB only runs under Win98 (which is installed on the 1800+ machine only). Measured time on the 1800+ is devided by the approximate ratio of compression speed on both machines.

- The command-line version of Squeez 5 seems to get different compression then the GUI version. The switch combination '-m5 -MD32768 -uxx9 -ME -MM -s' gets it down to 83.384.794 bytes...
- Stuffit 12.0 contains recompression techniques for several file types like JPG, GIF, BMP and PDF. For the MFC test I disabled PDF recompression as it appears to be "pixel perfect" rather then "bit-perfect" for most PDF files. This hurts compression a bit, but prevents the decompressed file to be slightly different than the original. This would be fine for normal users, but this is a lossless compression test. It would be unfair towards the lossless "bit perfect" compressors to include these result.

Conclusions and observations:
- Top performers (based on compression) in this test are PAQ8 and WinRK (PWCM). They are able to compress the 300+ Mb testset to under 62 Mb (80% reduction in size) but take a minimum of 8,5 hour to complete the test. The number one program (PAQ8O8) takes 11+ hours and number four (PAQAR) even 17 hours to complete the test. WinRK, the program with the 2nd best compression (79.7%) takes about 8,5 hours. Not surprisingly all mentioned programs make use of a PAQ(-like) engine for compression. If you have files with embedded images (e.g. Word DOC files) use PAQ8, it will recognize them and separately compress them, boosting compression significantly. All mentioned programs (except the current number 2, WinRK) are free of charge.

- WinRAR, WinRK (Fastest ROLZ3) but especially FreeARC, SBC 0.970 and CCM score very well on efficiency, they have good compression and are reasonably fast. Both SBC and WinRK are capable of compressing the testset down to 82 Mb in times just over 4 minutes, FreeARC is even able to do this in 1m40. People looking for good (but not ultimate) and fast compression should have a look at the programs FreeARC (e.g. -m3 mode), WinRAR and SBC. The fastest of the 'high power' compressors in this test are CCM and FreeARC, they compress the testset down to 79 Mb(!) in just over 5 minutes. CCM and FreeARC have similar good compression, but FreeARC is faster.

- The speed-kings in this test are THOR, QuickLZ, SLUG and LZOP, the first two compress the total testset of 300+ MB in under 3.4 seconds (which generates a total data stream of 300 MB input + 150 MB output / 3.5 sec = 128 MB/s). At this speed IO/harddisk performance has a large impact on the compression speed, when compression from-to memory probably even higher compression speeds are possible. As a consequence of this speed compression ratio is not very high (barely 50%). Other fast compressors, with a bit better compression, are the oldies Pkzip, Arj and Gzip. If you are looking for a fast compressor with still good compression, consider UHARC 0.6b using LZP-mode (-mz) or FreeARC in m1 or m2 mode.

- Decompression speeds are usually a lot faster then compression speeds except for the compressors using a PPM or PAQ-engine. Decompression times of 5-7 seconds seem to be the systems (IO/hardisk) limit; compressing to ramdisk (or /dev/null) should probably be even faster...

- Normally I would expect 7-Zip to outperform WinRAR, but in this case I suspect WinRAR beats 7-Zip because there are (embedded) multimedia files (wav,bmp etc) which can be handled by WinRAR's multimedia filter. 7-Zip still lacks such a filter. I included multimedia files because many games are distributed in compressed form (games typically have lots of bmp and wav-like files).

- The higher the fraction of pre-compressed files the smaller the difference between the top and the other compressors. Because the testset contains files like chm,gif,jpeg the difference between the compressors looks rather small. I will probably make a 2nd testset with easy to compress non-multimedia data later on. Home

©2003-2008 MaximumCompression (lossless data compression software benchmarks)
email