Maximal practical compression: WinRK, LPAQ, CCM(x), UHARC, FreeArc, 7-zip, Squeez
and Durilca'Light
Among modern compressors there are ones oriented to ultimate compression, but
unacceptable slow (1-100 KB/s): paq, uda, durilca, slim. At the other scale side
there are rapid archivers with medium compression and wide functionality: rar,
sbc, ace. In the gap between them are programs with particular qualities of
maximal practical compression. It’s WinRK/rolz3, LPAQ, CCM(X), UHARC, FreeArc,
7-zip, Squeez and DURILCA'light. I assay to arrange programs in order of
compression ratio decrease, but as will readily be observed it’s sufficiently
hard-grained group — without considering multimedia-compession, difference in
archive sizes among themselves vary in between 10% and compression results could
depend more on exact compressed data files than general tendency. Also mention
that lpaq, ccm, ppmd, durilca, uharc -mx are symmetric algorithms (i.e.
decompression needs as much time as compression) and all the others asymmetrical
(decompression is 10 or more times faster). Incidentally all listed in this
article speeds correspond to modern dual-core processors with 2.5 GHz frequency.
Now let’s pass to characteristics of particular programs.
- WinRK supports a number of compression algorithms, but in this case we are interested solely in ROLZ3 in
Best Asymmetric mode supporting best compression with acceptable decompression speed (more than 100 KB/s). As compared
with ccm and uharc this program compress data files more slowly but decompress faster (speed order: compression 400 KB/s,
decompression 2 МB/s). WinRK also supports SFX, multi volume archives, encryption. It has perfect GUI. In short WinRK seems to
be excellent program. It has the only shortcoming — it is not working. During my tests in 10-20% of cases it
crashes while building archive or couldn’t extract it. Maybe you will be more lucky (I have compressed huge file sets),
but I strongly recommend not to use WinRK. Alas author abandoned this project.
- LPREPAQ: it’s LPAQ completed with libraries precomp и PackJPG for
recompression already compressed data
(zip, pdf, gif, jpg etc.)
- LPAQ: symmetric algorithm with speed rate 350 KB/s. Per-file packer what means you have to use TAR
for archive building. Shows best results at text files overranking all other programs
in this review. The only program except 7-zip that doesn’t
include multimedia compression.
- CCMX: symmetric algorithm with speed rate 800 KB/s. Per-file packer.
- CCM: symmetric algorithm with speed rate 1 MB/s, concede CCMX in compression 1-3%.
- UHARC: in mode -m3 yield to 7-zip, so only high compression mode -mx is valuable.
Symmetric algorithm with speed rate 400 KB/s.
Maximum dictionary size is only 32 Mb, therefore when compressing large datasets
(hundreds of Mb) UHARC's compression ratio moves to the bottom edge of a
spectrum (among other programs examined here). Archiver with basic set of
features and SFX support. No archive update. Total size of files in archive is limited
to 2Gb. There are GUI frontends that simplify operation with UHARC archives.
- FreeArc: supports LZMA, PPMD and multimedia compression algorithms
with an automatic choice between them (by file extension) plus additional
filters, therefore outperforms 7-zip on a ratio and speed of compression:
1 MB/s packing, 2-20 MB/s unpacking (slower for PPMD, faster for LZMA). Such
features as smart file ordering and 1GB dictionary makes the program especially
efficient on large data sets where it moves to the top edge of spectrum. Inasmuch as compression method choice is based on
file extension analysis it fails on files with unusual extensions and files without extensions. Rigorous archiver with rapid
update of solid-archives, advanced encryption features, archive recovery, ftp/http
access, plugins for FAR and Total Commander,
linux version. But far not reliable as 7-zip.
- 7-ZIP: default algorithm LZMA is highly asymmetric (600 KB/s pack, 30 MB/s unpack). Text files are better
compressed by PPMD, which is symmetric algorithm (1.5 MB/s), unfortunately automatic selection of compression algorithm is not
implemented. 64-bit version of 7-zip can create archives with dictionary up to 1Gb that
still can be unpacked by 32-bit version. 7-zip has full-featured, though rather
ascetic GUI; 64-bit and linux versions; supports
sfx/installers, encryption, multi-volumes, solid-archives with adjustable block size.
This combination of high functionality and reliability, high compression ratio, rapid
decompression made 7-zip the most popular archiver
among all the mentioned here.
- SQUEEZ: speed is 400 KB/s pack, 10 MB/s unpack. Basic algorithm — LHA algorithm modification, with
dictionary up to 32 Mb, amplified with PPMD for texts and number of filters with
automatic switching among them. Rigorous archiver
with nice GUI and 64-bit version. Supports all the modern features: encryption, volumes, recovery record, sfx, archives
authentication (digital signature), logfile. The only non-free program in group, except WinRK.
- DURILCA'light: nearly symmetrical algorithm with speed rate of 1.5 MB/s. It is
basically PPMD algorithm improved with extra filters for text, executable, multimedia, table data compression.
Option -t1 reorders data before compression grouping similar data together that
increase compression ratio but 4 times decrease compression speed (decompression
speed remains the same and even increase a little). This mode allows to
deal with tar-files, where different types of data may be heavily mixed. Per-file packer.
Now let’s examine test results. For comparison we've also included archivers from
other groups – both aimed on maximal compression and rapid ones.
First table is arranged according to Squeeze Chart
test. Only results without ecm/precomp preprocessors was included to put all
programs in one line. Besides I’ve subtracted
results for multimedia files from totals because multimedia compressin is big topic
on its own. Finally we have direct comparision of different archivers based on sufficiently
typical data. However even in such kind it is impossible to speak, that the
presented table reflects true in last instance. It shows only results of tests
on large volume of mainly binary data:
| Archiver |
Time to pack, sec. |
Packed size, byte |
Version |
Mode |
| Super-compact |
| PAQ8o |
533.080 |
941 221 391 |
SSE2v2 |
-7 |
| WinRK |
334.566 |
945 147 315 |
3.0b3 |
maximum |
| UDA |
95.597 |
1 021 501 223 |
0.301 |
|
| Durilca |
|
1 053 264 573 |
0.5 |
-m1400 -o13 |
| SLIM |
|
1 165 964 430 |
23d |
-m800 -o16 |
| Compact |
| WinRK |
13.430 |
1 017 124 184 |
3.0b3 |
rolz-3 650mb |
| FreeArc |
3.483 |
1 043 288 254 |
0.40 |
-mx |
| LPAQ |
14.832 |
1 044 521 483 |
1 |
8 |
| CCMX |
6.099 |
1 047 940 335 |
1.23 |
c7 |
| FreeArc |
6.283 |
1 059 427 416 |
0.36 |
-m7 |
| 7-zip |
4.080 |
1 071 093 196 |
4.47 |
lzma:128mb/ppmd:1gb |
| Squeez |
12.709 |
1 093 341 205 |
5.6 |
32mb ultra |
| UHARC |
11.904 |
1 113 177 847 |
0.6b |
-mx -md32768 |
| Fast |
| SBC |
6.503 |
1 214 428 222 |
0.970 |
-m3 -b63 -os |
| WinRar |
2.448 |
1 304 466 153 |
3.70b5 |
-m5 |
| WinZip |
3.048 |
1 422 735 061 |
11.1 |
|
Second table is arranged with similarly prepared data from http://maxcompress.narod.ru/.
This test characterised by rather small sizes of compressed files
and too large percentage of executable files of which half of test data consists. As a result,
LPAQ and FreeArc went down. UHARC went up as well as both programs having good
dedicated executable files compression algorithms — Durilca/Durilca'Light and 7-zip.
Notice that WinRK and CCMX saved leadership in a group — these programs show constantly
high results in any conditions. In this test WinRAR shows fairly good results, but
don't forget
that while increasing data size WinRAR will lose positions due to limited
dictionary size. Speeds in this test were recorded on one-core Celeron 2.8GHz:
| Archiver |
Pack speed, KB/s |
Unpack speed, KB/s |
Packed size, byte |
| Paq 8 K (-8) |
1 |
1 |
12 309 664 |
| Durilca 0.5 |
81 |
83 |
12 842 139 |
| Slim 0.23d |
27 |
27 |
12 886 744 |
| UDA 0.301 |
21 |
21 |
13 288 040 |
| WinRK 3.0.3b Asymmetric |
80 |
300 |
13 965 155 |
| Durilca 0.5 Light |
625 |
860 |
14 327 293 |
| CCMx 1.23 (c 6) |
420 |
420 |
14 341 157 |
| CCM 1.23 (c 6) |
500 |
500 |
14 474 879 |
| Uharc 0.6b |
270 |
320 |
14 585 826 |
| Lpaq1 (8) |
185 |
180 |
14 634 505 |
| 7-zip 4.52b |
710 |
2900 |
14 635 135 |
| FreeArc 0.40b |
810 |
3800 |
14 849 852 |
| Squeez 5.6 |
175 |
2300 |
14 904 005 |
| WinRAR 3.70 |
1013 |
1600 |
15 146 720 |
| Uharc 0.6b (-m3) |
380 |
2800 |
15 442 355 |
| SBC 0.970rev2 |
760 |
1900 |
16 036 996 |
| WinZip 11.1 (optimize) |
1100 |
1100 |
16 069 337 |
Finally, being short of space, I will shortly name archiver’s chart in my own text compression
test: LPAQ, CCMX, CCM, FreeArc, UHARC,
Durilca'Light, 7-zip. This test contains medium-size filesets (30-100Mb) and include most spread text data
types — html, sources and natural-language texts.
At the last end, a piece of advise column: if you want ultimate compression — get CCMX. Optimal combination
of compression
speed and ratio — CCM or FreeArc. Lot of features, GUI, speed and reliability — 7-zip. Ultimate
feature set and nice GUI — Squeez.