[comp.unix.xenix] Compress wars

peter@stca77.stc.oz (Peter Jeremy) (10/20/88)

Following extensive examination of the source code for compress version 4,
as well as the assembler generated by the XENIX compiler, lots of kludging
and some very dirty C, I now have a 16 bit compress with the following
enhancements:
1) Reduced memory requirements:
   The memory image for compress is now 421K, decompress 223K.
2) Reduced run-time
   It runs approximately _three_times_ as fast as my previous mixed-model
   version. (A bit better than 3 times for decompression, a bit less for
   compression).  My previous mixed-model compress was about 30% faster
   than a straight large-model version.

These changes were achieved by using runtime memory allocation for the
tables and re-writing the table access macros to avoid the use of 32-bit
shifts.

The code currently runs under Xenix/286 Version 2.2.1 - it should be
portable to MS-DOG (although the gains may not be as great because it's not
running in protected mode).  I can't guarantee the code portability to
other *nix/286 operating systems, and since its just a set of kludges to
get around the yukky segments, it isn't of interest to anyone not condemned
to using 80286's.

If anyone is interested, please E-mail me.  If I get sufficient interest I
will post the patches (relative to something fairly generic).
-- 
Peter Jeremy (VK2PJ)         peter@stca77.stc.oz
Alcatel-STC Australia        ...!munnari!stca77.stc.oz!peter
41 Mandible St               peter%stca77.stc.oz@uunet.UU.NET
ALEXANDRIA  NSW  2015