home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / reviewed / volume02 / ncmprss / part00 < prev    next >
Encoding:
Internet Message Format  |  1992-08-27  |  8.4 KB

  1. From: Peter Jannesen <peter@ncs.nl>
  2. Subject: v02i024: ncompress - (Ver. 4.2.3) an improved file compressor, Part00/02
  3. Newsgroups: comp.sources.reviewed
  4. Approved: csr@calvin.dgbt.doc.ca
  5.  
  6. Submitted-by: Peter Jannesen <peter@ncs.nl>
  7. Posting-number: Volume 2, Issue 24
  8. Archive-name: ncompress/part00
  9.  
  10. Environment: UNIX
  11.  
  12. Tested Environments:
  13.     Sun 3 & 4, SunOS 4.0.3 & 4.1.1, cc & gcc
  14.     SCO Xenix 2.3.4 & gcc 1.40.
  15.     SCO OpenDesktop 1.1, gcc 2.0 compiler
  16.     486, ISC UNIX 3.0 
  17.     ESIX System 5.3.2 Rev D, gcc 1.39
  18.     IBM 3090 600J, AIX/370 1.2.1 
  19.     RS6000/530 (AIX 3.1.5 & 3.2) 
  20.     MIPS, Mips OS 4.51 
  21.     Next, NeXTOS
  22.     HP720/HP-UX 8.07 
  23.     HP400/HP-UX 7.05 & 8.00
  24.     HP900/847, HP/UX 8.0 
  25.     AT&T 3b1, 3.51m O/S.
  26.     Decstation 5000, Ultrix 4.2  
  27.     DEC Alpha/OSF-1 
  28.  
  29. Dates:
  30.     Submission Received: April 6 1992
  31.     Reviews Returned:  April 30 1992
  32.     Revised Submission Received: Jun 23 1992
  33.     Reviews Returned: July 29 1992
  34.     Revised Submission Received: Aug 5 1992
  35.     Accepted: Aug 26 1992
  36.  
  37.  
  38. Author's Summary:
  39. -----------------
  40.  
  41. This is version 4.2 of (N)compress (an improved version of compress 4.1).
  42.  
  43. Compress is a fast, simple LZW file compressor.  Compress does not have
  44. the highest compression rate, but it is one of the fastest programs to
  45. compress data.  Compress is the defacto standard in the UNIX community
  46. for compressing files.
  47.  
  48. 'build' is a menu driven shell script for compiling, testing and
  49. installing (N)compress. So to build and install (N)compress all you have to
  50. do is run build.  Build will first test your system for default
  51. settings. The current compile settings are stored in a special file
  52. called compress.def.
  53.  
  54. For user with problems with build there is a default makefile included
  55. called 'Makefile.def'. Also build is capable te generate a Makefile with
  56. all options (option genmake).
  57.  
  58. (N)compress 4.2 has a special, fast compression hash algorithm.  This
  59. algorithm uses more memory than the old hash table. If you don't want
  60. the faster hash table algorithm set 'Memory free for compress' below
  61. 800000.
  62.  
  63. zcmp, zdiff, zmore were copied from version 4.1 without any changes.
  64.  
  65. The output of (N)compress 4.2 is fully compatible with that of compress 3.0.
  66. In other words, the output of (N)compress 4.2 may be fed into uncompress 3.0 or
  67. the output of compress 3.0 may be fed into uncompress 4.2.
  68.  
  69. The output of (N)compress 4.2 is not compatible with that of
  70. compress 2.0.  However, compress 4.2 still accepts the output of
  71. compress 2.0.  To generate output that is compatible with compress
  72. 2.0, use the undocumented "-C" flag.
  73.  
  74.  
  75. Reviewers' Comments:
  76. --------------------
  77.  
  78. Overall, this went very well.  After reading the README, everything
  79. seemed clear.  I ran build, everything went fine, and apart from a
  80. couple of points, it compiled & ran cleanly.  Some of the
  81. spelling/typing in the build script left a bit to be desired though.
  82.  
  83. ------------------------------------------------------------------------------
  84.  
  85. This package is completely compatible with the SCO Unix 3.2v2 system
  86. 'compress' and adds a nice recursive feature. This version of compress
  87. is faster than the supplied version with the differences becoming larger
  88. as the file size grows (my perl.tar went from 35.1 user seconds to 16.5).
  89. I am inpressed by this higher efficiency.
  90.  
  91. While the installed size, for me, was almost twice the size - from 14000
  92. to 26684, I don't see this as any reason that it should not replace your
  93. system 'compress', or at the very least augment it. Software Developement
  94. House programers would want to use it as an augment, as it is very easy
  95. to get hooked on the added features. The extra programs 'zdiff' & 'zmore'
  96. are very good and useful.
  97.  
  98. ------------------------------------------------------------------------------
  99.  
  100. Ncompress 4.2.3 is a new version of compress compatible with earlier
  101. versions and generally faster although real time comparisons vary
  102. considerably across platforms and cpu load.  The program is easy to
  103. configure, compile and install.
  104.  
  105. ------------------------------------------------------------------------------
  106.  
  107. compress 4.2 is a welcome update to the venerable compress
  108. utility that is used so heavily on the net.  A number of
  109. annoying minor bugs have been fixed that present problems
  110. with older versions of compress on some newer platforms.
  111.  
  112. The package seems to be documented fully, and includes brief
  113. descriptions of the algorithms and their potential patent status.
  114.  
  115. Aside from some rather annoying spelling mistakes and format
  116. botches in the build procedure user-interface, the new version
  117. of compress builds cleanly, and produces a version of compress
  118. that's about 30% faster than the stock 3.51m compress.
  119.  
  120. One annoyance worthy of note: the build procedure does a good
  121. job of configuring the compress compile process, but doesn't
  122. bother to seek out incompatibilities in the ancilliary shell
  123. scripts.  In particular, it doesn't notice when the system
  124. doesn't support "more"; it will not substitute "pg" into
  125. the "zmore" script.
  126.  
  127. ------------------------------------------------------------------------------
  128.  
  129. The product does the job it claims to without any errors that I was able
  130. to detect.  It is compatible with the existing compression software
  131. that we have been using (version 4.0, from volume 2, issue 27 of
  132. mod.sources).
  133.  
  134. This version claims to have a performance gain, but I was unable to verify
  135. that against version 4.0, however, this may be due to the data that
  136. I was compressing (a 7MB cpio file of C sourc efiles), or to  some
  137. difference with respect to the OS/hardware combination.  It certainly
  138. did not loose any significant amount of performance.
  139.  
  140. Compress 4.2 is the newest version of the standard file compression
  141. mechanism utilized throughout USENET.  Once it is offically available
  142. it will replace our existing compression mechanism.
  143.  
  144. ------------------------------------------------------------------------------
  145.  
  146. Compress is a public-domain implementaion of LZW file compression.
  147. This is a cleanup version of the venerable UNIX compress utility.  It
  148. comes with menu driven script which eases compilation and
  149. installation.  This version provides a special fast compression hash
  150. algorithm which seems to be the one algorithmic addition of this
  151. version over the previous ones.
  152.  
  153. ------------------------------------------------------------------------------
  154.  
  155. This excellent piece of software passes our review specifications
  156. with flying colors.  This has become a standard piece of software
  157. at ealier revisions, and now in its lastest revision is the same tried
  158. and true compression program it was before.  Although the bug fixes are
  159. minor, I am gald it is being maintained and is being put into review under
  160. our system.
  161.  
  162. ------------------------------------------------------------------------------
  163.  
  164. compress 4.2 offers some performance improvements over compress 4.0,
  165. and adds a flag to compress recursively in a directory tree.  People
  166. creating UNIX distributions should use this version, but the new
  167. features are not important enough that end users need to rush to
  168. upgrade.
  169.  
  170. ------------------------------------------------------------------------------
  171.  
  172. This package is completely compatible with the SCO Unix 3.2v2 system
  173. 'compress' and adds a nice recursive feature. This version of compress
  174. is faster than the supplied version with the differences becoming larger
  175. as the file size grows (my perl.tar went from 35.1 user seconds to 16.5).
  176. I am inpressed by this higher efficiency.
  177.  
  178. While the installed size, for me, was almost twice the size - from 14000
  179. to 26684, I don't see this as any reason that it should not replace your
  180. system 'compress', or at the very least augment it. Software Developement
  181. House programers would want to use it as an augment, as it is very easy
  182. to get hooked on the added features. The extra programs 'zdiff' & 'zmore'
  183. are very good and useful.
  184.  
  185. ------------------------------------------------------------------------------
  186.  
  187. Compress 4.2 is a drop in replacement for whichever version of compress that
  188. you are currently running. Using the faster hash table algorithm it normally
  189. runs twice as fast as Sun's compress (compress 4.0). Without this algorithm,
  190. it is about 40% faster than Sun's compress. No compatability problems were
  191. found between this verion of compress and Sun's.
  192.  
  193. This version would be of most use to people who are compressing lots of data
  194. (eg images). If you use compress a lot (particularly on large files), using
  195. Compress 4.2 will save you a considerably amount of time. Where possible, I
  196. would suggect allowing compress to use its faster hash table compression for
  197. speed.
  198.  
  199. exit 0 # Just in case...
  200.