Comparison of Compressors' Performance Results of Tests Using Pkzip 1.10 and 2.04C, ARJ 2.39B, and LHA 2.13 Conducted at MAS by Matt Kahn January 6, 1993 Copyright 1993, MAS. May be freely distributed if not modified in any way. ___________________________________________________________________________ The release of Pkzip 2.04c has prompted questions about which compressor is 'best' for particular purposes. MAS conducted tests designed to answer that question for its members. Results are reported in sufficient detail to pro- vide initial answers, but there is no intent to provide parametric analyses. Three series of tests assessed compressor performance on different kinds of data: 1. 'TEXT' data consists of 1.006 megabytes of file listings from the MAS User Group's BBS; this data is all text, with lots of white space. 2. 'PROGRAM' data consists of 1.006 megabytes of binary data (.EXE files). 3. 'DATABASE' data consists of 1.006 megabytes of packed database files from a Btrieve-based record management system. NOTE: Lower numbers indicate better performance in all results (less time, smaller compressed files, and a smaller percent of original files' size). Information about testing conditions and about interpreting the information to help you decide which compressor to use follows the results. ___________________________________________________________________________ Time ----- Size ----- min:sec.0 Bytes % Series 1: TEXT -------------------------------------------------------- PKZIP 1.10 -a -ex (Choose max compr) 1:21.6 311414 30.9 PKZIP 1.10 -a -ei (Imploding only) 1:21.5 311414 30.9 PKZIP 1.10 -a -es (Shrinking only) 21.6 320446 31.9 PKZIP 2.04c -a -ex (Tightest) 1:17.1 272688 27.1 PKZIP 2.04c -a -en (Tight [default]) 47.0 277418 27.6 PKZIP 2.04c -a -ef (Fast) 36.8 295977 29.4 PKZIP 2.04c -a -es (Fastest) 27.7 325349 32.3 PKZIP 2.04c -a -e0 (Store: no compr) 52.3 1028767 102.3 ARJ 2.39b a -e -m0 (Store: no compr) 14.8 1028718 102.3 ARJ 2.39b a -e -m1 (Tightest [default]) 1:12.3 279495 27.8 ARJ 2.39b a -e -m2 (Intermediate) 57.3 283075 28.1 ARJ 2.39b a -e -m3 (Fastest) 41.9 300969 29.9 LHA 2.13 a (Tightest [default]) 1:47.7 302468 30.1 LHA 2.13 a /z (Store: no compr) 19.0 1028636 102.3 ___________________________________________________________________________ Time Size Size min:sec.0 Bytes % Series 2: PROGRAMS ---------------------------------------------------- PKZIP 1.10 -a -ex (Choose max compr) 1:25.6 618639 61.5 PKZIP 1.10 -a -ei (Imploding only) 1:25.7 618639 61.5 PKZIP 1.10 -a -es (Shrinking only) 32.9 751074 74.7 PKZIP 2.04c -a -ex (Tightest) 1:15.4 585068 58.2 PKZIP 2.04c -a -en (Tight [default]) 1:01.7 585697 58.2 PKZIP 2.04c -a -ef (Fast) 53.1 592287 58.9 PKZIP 2.04c -a -es (Fastest) 37.4 632803 62.9 PKZIP 2.04c -a -e0 (Store: no compr) 19.0 1004257 99.8 ARJ 2.39b a -e -m0 (Store: no compr) 19.9 1003025 99.7 ARJ 2.39b a -e -m1 (Tightest [default]) 1:24.8 586767 58.3 ARJ 2.39b a -e -m2 (Intermediate) 1:19.3 587377 58.4 ARJ 2.39b a -e -m3 (Fastest) 1:09.1 594068 59.1 LHA 2.13 a (Tightest [default]) 1:47.2 590675 58.7 LHA 2.13 a /z (Store: no compr) 19.4 1002538 99.7 ___________________________________________________________________________ Time Size Size min:sec.0 Bytes % Series 3: DATABASE ---------------------------------------------------- PKZIP 1.10 -a -ex (Choose max compr) 2:44.2 341070 33.9 PKZIP 1.10 -a -ei (Imploding only) 2:43.8 341070 33.9 PKZIP 1.10 -a -es (Shrinking only) 23.0 363015 36.1 PKZIP 2.04c -a -ex (Tightest) 1:26.9 298138 29.6 PKZIP 2.04c -a -en (Tight [default]) 52.5 302985 30.1 PKZIP 2.04c -a -ef (Fast) 39.1 320940 31.9 PKZIP 2.04c -a -es (Fastest) 24.9 355502 35.3 PKZIP 2.04c -a -e0 (Store: no compr) 19.2 1026162 102.0 ARJ 2.39b a -e -m0 (Store: no compr) 17.3 1025919 101.9 ARJ 2.39b a -e -m1 (Tightest [default]) 1:33.4 305059 30.3 ARJ 2.39b a -e -m2 (Intermediate) 1:08.6 308866 30.7 ARJ 2.39b a -e -m3 (Fastest) 48.8 326524 32.5 LHA 2.13 a (Tightest [default]) 1:46.7 318783 31.7 LHA 2.13 a /z (Store: no compr) 16.9 1025762 101.9 ___________________________________________________________________________ Testing conditions were arranged to be the same for all compressors. The test machine was detached from the network to prevent any accesses from influencing the performance times. Files were compressed on a newly defragmented drive and to the same location on that drive. The entire testing procedure was automated via a batch file and an execu- tion timer utility. I have no relation with or predisposition toward any of the compressors. How to interpret the data: The tests were run on a 16MHz 286 machine, and you can freely generalize these results to faster or slower compu- ters knowing that the proportions will still apply. For example, on a faster machine, say 33MHz, *all* the times may be half of their values here. Different kinds of data are another matter. The results will differ with different types of data, so you are advised to use these results as a starting point for your own brief experiments. That way, you can fine-tune them to provide the best selection for you. General- ly, all of these compressors do a pretty good job. Conclusion: Where the tightest possible compression is desired, Pkzip 2.04c with the -ex option (maximum compression) would be best. Faster speed is available with only a slight loss of compression, using the -en (default) option. ARJ can come close to, but not match, Pkzip 2.04c in compression tightness or in speed. You would do well to examine the results for the kind of data you will be compressing, and then do a few fast tests using your own data, as you select a compressor. ___________________________________________________________________________ The compressors tested are all copyrighted by their respective authors. All are widely available through BBS's, user groups, and/or disk vendors. You may contact me at the MAS User Group's BBS. Membership is not re- quired to leave a comment on the bbs. 2400bps: (718) 444-4555, 9600+ V.32, V.32bis, and HST-14.4K: (718) 444-5089, 9600+ V.32, V.32bis, and HST-16.8K: (718) 444-5090. Matt Kahn. - End of Report -