TESTCHK, CHKSUM.C, and CHKSUM_M.MAR CHKSUM.C is the original checksum routine from gnuucp. CHKSUM_M.MAR is a hand recoding of the routine in Macro. TESTCHK invokes each one thousand times and reports the elapsed and CPU times. On an 8200, the Macro version runs in about half the time as the C: ELAPSED: 0 00:00:00.13 CPU: 0:00:00.13 BUFIO: 0 DIRIO: 0 FAULTS: 1 Prev was for C version, result was 0x cee ELAPSED: 0 00:00:00.07 CPU: 0:00:00.06 BUFIO: 0 DIRIO: 0 FAULTS: 1 ... for macro version, result was 0x cee Similar on a uV3600: ELAPSED: 0 00:00:00.05 CPU: 0:00:00.05 BUFIO: 0 DIRIO: 0 FAULTS: 1 Prev was for C version, result was 0x cee ELAPSED: 0 00:00:00.02 CPU: 0:00:00.02 BUFIO: 0 DIRIO: 0 FAULTS: 1 ... for macro version, result was 0x cee Results on the 3600 were the same for V2.x and V3.0 of VAX C. Conclusion: We could probably shave quite a bit off of the user-mode time by recoding most of giowmvs.c (getdata, putdata, and everything beneath them) in Macro. We will likely do this as a warmup for what is REALLY the Right Thing -- implement the windowed g protocol, along with QIO support for the "xgetc" function needed by the script processor, in a terminal class driver. --- Jamie Hanrahan 11-Apr-1989