


                    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 -

