[comp.sys.cbm] kermit vs. xmodem - was Re: kermit problem

mike@ac.dal.ca (04/09/90)

In article <14836@s.ms.uky.edu>, slogan@ms.uky.edu (Stan Logan) writes:
> The kermit and xmodem protocols MAY be near each other in transfer time, I
> don't know.  But I do know that the c64 implementation of Kermit is the
> bottleneck in any case.  The packets it transfers are <100 bytes long, while
> XMODEM transfers 256 bytes at a time.

Sorry, only Punter Protocol transfers 256 bytes... Standard Xmodem does 128
bytes, and Xmodem1-K does 1024 at a time.. and xmodem is very much
faster than kermit... and punter is faster still...

acliu@skat.usc.edu (Alex C. Liu) (04/10/90)

In article <1424@ac.dal.ca> mike@ac.dal.ca writes:
>Sorry, only Punter Protocol transfers 256 bytes... Standard Xmodem does 128
>bytes, and Xmodem1-K does 1024 at a time.. and xmodem is very much
>faster than kermit... and punter is faster still...

Actually, Punter and Xmodem have around the same software overhead.

Let's see,
Xmodem uses a 4 byte header per 128 bytes or 5 bytes in the case of
Xmodem CRC.  So in average Xmodem blocks are 132 bytes long.

punter needs a 7 byte header per 255 bytes.  (Note, Punter uses 255
byte blocks, not 256 bytes!)  That is 263 bytes per block.

For HandShacking, Xmodem sends single byte codes i.e. <ACK> and <NAK>s
Punter uses a more Complex protocol that instead of sending a single
Byte Code would seend a 3 byte code plus another 2 3 byte codes for
control.  In other words, it would transfer 9 bytes in between blocks.

Now, in order to send 128 bytes, Xmodem will add 5 (or 6 in the case
of CRC mode) extra bytes.  Punter for every 255 bytes, would send 16
extra bytes.  So in average Punter is sending about 8 extra bytes per
each 128 bytes.

From this, I would say that Punter has a LOT more overhead than
Xmodem.  But, Punter DO have some advantages over Xmodem, in the sense
that Punter is a lot more robust than Xmodem, and it will not increase
the file size.
______________________________________________________________________
Alex C. Liu                   | INTERNET: acliu%skat@usc.edu
Voice: (213) 749-2730         | BITNET: acliu%skat@gamera
Q-Link: Alejandro             | UUCP: ...!usc!acliu

geoffw@xenitec.on.ca (Geoffrey Welsh) (04/10/90)

In article <1424@ac.dal.ca> mike@ac.dal.ca writes:
>Sorry, only Punter Protocol transfers 256 bytes... Standard Xmodem does 128
>bytes, and Xmodem1-K does 1024 at a time.. and xmodem is very much
>faster than kermit... and punter is faster still...

   Let me clear up some ideas people have about 'new Punter' (C1)
protocol: XMODEM may only have a block size of 128 bytes, but it
requires only one ACK per block. C1's block size is 255 bytes (of
which seven are used for block numbers, checksums, etc.), but it
must double-handshake every block:

	send		receive
	<block>
			GOO/BAD
	ACK
			S/B
	<block>

   So, there are 4 turnarounds for every 248 data bytes sent, and
a byte overhead of 2.7%. XMODEM offers 2 turnarounds for every 128
bytes of data sent (4 per 256) and, with 4 or 5 extra bytes per
block depending on checksum or CRC mode, a byte overhead of 3% or
3.7%.

   So, what's this all mean?

   The lower byte overhead suggests that C1 might be faster where
the main time delay is getting the data through, e.g. over a 300
bps modem. However, XMODEM's slight edge in the data squeezed through
per turnaround makes them about even at higher speeds (1200/2400)
and makes it look good at 9600 or over long distance connects. As
has been pointed out, XMODEM-1K will need even fewer turnarounds
so it gets much better performance.

   Your mileage may vary.

   How good each protocol is doesn't count for squat if the CODE
is slow & sloppy. If your fave terminal does Punter much faster
than it does XMODEM, I'm willing to bet that it's because the
author simply copied Steve Punter's C1 routines (which are reasonable,
if not amazing) but used some really poor routines for XMODEM.

   Geoff

UUCP:     watmath!xenitec!zswamp!root | 602-66 Mooregate Crescent
Internet: root@zswamp.fidonet.org     | Kitchener, Ontario
FidoNet:  SYSOP, 1:221/171            | N2M 5E6 CANADA
Data:     (519) 742-8939              | (519) 741-9553
My comments do not represent and should not obligate anyone but myself.