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|
|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|
|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|
|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.