[comp.compression] compression-archivers comparison: VAX/BSD and PC/MS-DOS

roelofs@nas.nasa.gov (Cave Newt) (05/19/91)

This is a message I posted internally to the Info-ZIP group; it was
suggested to me that perhaps people here might be interested as well.
If not...don't blame me. :-)

Greg

P.S.  Those wishing to join the Info-ZIP group may do so by sending a
      message to Info-ZIP-Request@WSMR-Simtel20.Army.Mil (Yet Another 
      Alias for Keith Petersen).  I assume y'all are aware of this, but
      just in case...

_____________
Subject: comparisons IV

Greetings, gentlebeings...

Things have been moving pretty quickly on the compression front (that's
like a shock front, except different) lately, so I thought it was high 
time for another look at the data I posted back in February (and December 
and November).

This update includes both VAX and PC comparisons.  Once again, the test
file was 500k of old info-zip messages, sans uuencoded stuff.  All the 
byte sizes given below refer to the total archive size; in the case of
the zipfiles, this includes 116 bytes of header info.


VAX 11/780, 4.3BSD results:

498.0u 16.3s 10:55 78% 85+585k 181+251io 18pf+0w (zip082)    204824 bytes
476.5u 22.2s 11:57 69% 89+831k 206+270io 31pf+0w (zip08)     209012 bytes

806.0u 38.0s 31:05 45% 81+429k 271+344io  2pf+0w (zip07)     212198 bytes
791.8u 13.5s 15:10 88% 86+429k 194+292io 30pf+0w (zip07 -i)  212198 bytes
790.6u 44.4s 21:09 65% 64+425k 209+302io  2pf+0w (zip05)     220314 bytes
350.1u 24.2s 23:18 26% 55+233k 106+125io  1pf+0w (lharc)     224879 bytes
 39.6u  2.3s  2:33 27% 23+845k  66+ 44io  2pf+0w (compress)  245059 bytes
125.4u  5.7s  8:16 26% 46+229k 109+110io  2pf+0w (zip04 -s)  261928 bytes
112.7u  4.1s  6:56 28% 51+318k  76+ 86io  2pf+0w (zoo)       286873 bytes
175.5u 13.1s 11:47 26% 65+200k 134+127io  3pf+0w (arc)       301996 bytes
  --     --    --  --     --       --       --   (nothing)   500459 bytes

So speed has improved by close to 40% and compression by another couple
percent.  (zip082 refers to Jean-loup's announced-but-unposted improvements
to the implosion code.)


16MHz 386 PC [that's a REAL 386, not one of them puss SX's :-) ], MS-DOS + 
MSC 6.0 results:

tim zip082   -b f:      test unzip3.p6          135.39 sec   204824 bytes  (5)
tim zip08    -b f:      test unzip3.p6          155.11 sec   209012 bytes  (8)

tim arj200   a -mj -wf: test unzip3.p6           51.08 sec   180260 bytes  (1)
tim arj200   a -wf:     test unzip3.p6           39.82 sec   190313 bytes  (2)
tim arj200   a -m2wf:   test unzip3.p6           34.00 sec   194953 bytes  (3)
tim lha210   a /wf:     test unzip3.p6           48.66 sec   200707 bytes  (4)
tim arj200   a -m3wf:   test unzip3.p6           33.23 sec   208211 bytes  (6)
tim pkzip110 -bf:       test unzip3.p6           32.91 sec   208952 bytes  (7)
tim lharc113 a -wf:     test unzip3.p6           50.81 sec   224896 bytes  (9)
tim arj200   a -m4wf:   test unzip3.p6           30.92 sec   229930 bytes (10)
tim compress430  -c     unzip3.p6 > f:test.Z     20.55 sec   247180 bytes (11)
tim pkarc360 -bf: -a    test unzip3.p6           11.15 sec   281452 bytes (12)
tim zoo201   a          test c:unzip3.p6         24.82 sec   286998 bytes (13)
  [zoo test was from f: drive]

Clearly assembly language in critical places makes a big difference in 
execution time, but we're all aware of that.  What most impressed me was
the big lead ARJ has over everybody else (including LHA, which I had be-
lieved was comparable).  ARJ's level-3 mode appears to sort of a PKZIP
compatibility mode; the next two levels are only slightly slower but 
compress quite a bit better, and the top level is far and away superior
to everybody else.  Of course, it only exists under MS-DOS, too.

Jean-loup's recent zip tweaks boost zip to the number-three position,
comfortably above PKZIP; even the almost-stock 0.8 version (I removed the
MSDOS ifdef in implode.c to allow 8K dictionaries) is pretty much neck-
and-neck with PKWare's version.  0.82 uses the small memory model and,
for this test, the default stack size of 2048 bytes (0.80 == compact + 32K
stack).  Both were LZEXE'd (none of the other executables was), and they
give the same results as the VAX versions, which is sort of reassuring.

Timewise, PKARC stands out, but so does its compression (in another way...
:-) ).  Compress and zoo also do pretty well, but likewise at a cost.

Other factors:  doing everything on the RAM disk saves about 3.5 seconds,
but it wasn't possible in many of the tests (and was therefore not done at
all); LZEXEing may have saved between .25 and 1.25 seconds on the zip tests
(results varied); and "tim" is a little utility I picked up which approxi-
mates the Unix "time" command and which is probably only accurate to the 
nearest tenth of a second...but I didn't feel like repeating all these tests 
five times to find out for sure.

Well, there you have it.  Tune in again in about 3 months for the next
exciting installment...

Greg