Short:        Very fast uuencoder and decoder
Author:       nicolas-dade@uiuc.edu
Uploader:     nicolas-dade uiuc edu
Type:         util/arc
Architecture: m68k-amigaos


uuIn and uuOut are a pair of very rapid uuencode/decoders. They
beat anything currently available on aminet by a good margin,
especially on decoding.

Workbench 2.04 or higher is required.


--Why is this encoder/decoder pair better than those already available?--

* They are _very_ fast. (and they uses a different, even faster
  routine if a 68020 or higher is detected) (They're 100% assembly)

* The encoder will automatically generate multiple output files
  using maximum lines and/or maximum bytes limits, and prevent
  widow files that contain no full data lines. (nn's :decode
  doesn't like them)

* The name and protection modes encoded in the begin line can be
  specified, or intelligent defaults are used.

* Encoded data lines can be terminated with an checksum, and a size
  line can be generated.

* The decoder sanity checks its input so that non-uuencoded data
  lines are skipped over instead of being "decoded" and producing
  garbage.

* The decoder allows you to specify the output directory in which
  to place the decoded file(s) so that they don't have to go to
  the current directory.

* Output files have their protection flags set to reflect the
  owner's rwx unix protection bits specified in the uuencoded
  data.

* The decoder decodes all files encoded in its input, not just
  the first one.

* They will take input from standard input and write to standard
  output, as well as to and from files.

* They do their own io buffering using a user sizeable buffer.

* They're pure and small


--Speed Comparisons--:

On a 7.14MHz NTSC 68000 based Amiga (ie A500, A1000 or A2000) using
the command line "uuIn ram:310KByteFile ram:440KByteOutput", encoding
the 310Kbyte file which produces a 440 KByte uuencoded file:

using:	  version:	takes:		speed:
uuIn	  1.03		5.4 secs       57Kb/s
UUEncodeX 1.02	       13.1 secs       24KB/s
UUxT	  2.2	       50.0 secs	6Kb/s

"uuOut ram:440KByteFile ram:", undoing the encoding I did above, took:

uuOut	  1.03		5.7 secs       77Kb/s
UUDecodeX 1.02	       27.7 secs       16KB/s
UUxT	  2.2	       41.3 secs       11Kb/s
uudecode   ?	       64.3 secs	7Kb/s

I don't have a 68020 Amiga handy, but on a 22MHz 68030 based
A2000 the same commands took:

uuIn	  1.03		1.0 secs       310Kb/s

uuOut	  1.03		1.0 secs       440Kb/s
UUDecodeX 1.02		4.7 secs	94KB/s
UUxT	  2.2		7.2 secs	61Kb/s
uudecode   ?	       10.0 secs	44Kb/s


--I am--:

  Nicolas Dade
  405 W. Delaware Ave.
  Urbana IL 61801  (USA)
  nicolas-dade@uiuc.edu OR n-dade@uxa.cso.uiuc.edu
  n9rzb