home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / compress / part0 next >
Encoding:
Internet Message Format  |  1989-06-26  |  4.1 KB

  1. From: vax135!petsd!joe (Joe Orost)
  2. Subject: Compress 4.0 (part 0 of 2)
  3. Newsgroups: mod.sources
  4. Approved: john@genrad.UUCP
  5.  
  6. Mod.sources:  Volume 2, Issue 27
  7. Submitted by: vax135!petsd!joe (Joe Orost)
  8.  
  9. [ Moderator's notes:  Speedup and reduced memory requirements are the
  10.   primary improvements over Compress 3.0  A shell script to automatically
  11.   determine the available memory has been added.  
  12.  
  13.   Also, additional shell scripts have been added to the package to allow
  14.   for additional user interfaces.  Frankly, I don't find these particularly
  15.   useful.
  16.  
  17.   I have repackaged Compress 4.0 from how it was sent to me.  Part 1
  18.   contains compress.1 compress.c usermem and Makefile (these are all
  19.   that are required to get the basic system up and running.)  Part 2
  20.   contains the README's and shell scripts and stuff.
  21.  
  22.   Here is a copy of the new README for compress 4.0
  23.  
  24.    -  John P. Nelson (decvax!genrad!john) [moderator, mod.sources]
  25. ]
  26.  
  27. ---------------------------------------------------------------------------
  28.  
  29. Compress version 4.0 improvements:
  30.     o compress() speedup (10-50%) by changing division hash to xor
  31.     o decompress() speedup (5-10%)
  32.     o Memory requirements reduced (3-30%)
  33.     o Stack requirements reduced to less than 4kb
  34.     o Removed 'Big+Fast' compress code (FBITS) because of compress speedup
  35.         o Portability mods for Z8000 and PC/XT (but not zeus 3.2)
  36.     o Default to 'quiet' mode
  37.     o Unification of 'force' flags
  38.     o Manual page overhaul
  39.     o Portability enhancement for M_XENIX
  40.     o Removed text on #else and #endif
  41.     o Added "-V" switch to print version and options
  42.     o Added #defines for SIGNED_COMPARE_SLOW
  43.     o Added Makefile and "usermem" program
  44.     o Removed all floating point computations
  45.     o New programs:
  46.         compressdir - compress all files on a directory
  47.         uncompressdir - uncompress all files on a directory
  48.         zcmp - cmp compressed files
  49.         zdiff - diff compressed files
  50.       The following are with thanks to philabs!per:
  51.         btoa - convert binary to ascii for mailing
  52.         atob - convert ascii to binary with checksum
  53.         tarmail - tar, compress, btoa, and mail files
  54.         untarmail - restore "tarmail" files
  55.  
  56.         WARNING: These last few programs are not compatible 
  57.         with the original ones from the net.  The encoding
  58.         has changed.  See btoa.c for more info.
  59.  
  60. The "usermem" script attempts to determine the maximum process size.  Some
  61. editing of the script may be necessary (see the comments).  If you can't get
  62. it to work at all, just create file "USERMEM" containing the maximum process
  63. size in decimal.
  64.  
  65. The following preprocessor symbols control the compilation of "compress.c":
  66.  
  67.     o USERMEM        Maximum process memory on the system
  68.     o SACREDMEM        Amount to reserve for other proceses
  69.     o SIGNED_COMPARE_SLOW    Unsigned compare instructions are faster
  70.     o NO_UCHAR        Don't use "unsigned char" types
  71.     o BITS            Overrules default set by USERMEM-SACREDMEM
  72.     o vax            Generate inline assembler
  73.     o interdata        Defines SIGNED_COMPARE_SLOW
  74.     o M_XENIX        Makes arrays < 65536 bytes each
  75.     o pdp11            BITS=12, NO_UCHAR
  76.     o z8000            BITS=12
  77.     o pcxt            BITS=12
  78.     o BSD4_2        Allow long filenames ( > 14 characters) &
  79.                 Call setlinebuf(stderr)
  80.  
  81. The difference "usermem-sacredmem" determines the maximum BITS that can be
  82. specified with the "-b" flag.
  83.  
  84. memory: at least        BITS
  85. ------  -- -----                ----
  86.      433,484             16
  87.      229,600             15
  88.      127,536             14
  89.       73,464             13
  90.            0             12
  91.  
  92. The default is BITS=16.
  93.  
  94. The maximum bits can be overrulled by specifying "-DBITS=bits" at
  95. compilation time.
  96.  
  97. WARNING: files compressed on a large machine with more bits than allowed by 
  98. a version of compress on a smaller machine cannot be decompressed!  Use the
  99. "-b12" flag to generate a file on a large machine that can be uncompressed 
  100. on a 16-bit machine.
  101.  
  102. The output of compress 4.0 is fully compatible with that of compress 3.0.
  103. In other words, the output of compress 4.0 may be fed into uncompress 3.0 or
  104. the output of compress 3.0 may be fed into uncompress 4.0.
  105.  
  106. The output of compress 4.0 not compatable with that of
  107. compress 2.0.  However, compress 4.0 still accepts the output of
  108. compress 2.0.  To generate output that is compatable with compress
  109. 2.0, use the undocumented "-C" flag.
  110.