[net.micro.pc] Experience with MS-Pascal, Turbo, and MS-C

vaughan@orion.UUCP (Robert Vaughan) (09/26/86)

I recently had an interest experience in using the three systems
above (MS-Pascal, TurboPascal, and MS-C). I wrote a filter program
that did some character level processing on a text file, before
outputting it (through the Tangent Technolgies PC Macbridge, usual
disclaimers...) to an Apple Laserwriter. The program basically performed
a state-machine processing and replaced certain macros with expansions
that were translated into things like headers for memos, etc., on the
LaserWriter. 

Having started with only MS-Pascal, I then recompiled using TurboPascal.
After acquiring a copy of MS-C, i rewrote the code in C. The intersting
part of all this is the resulting size and execution times, listed below:

  Data file size: 9744 bytes
  MS-Pascal executable:  25K bytes
  TurboPascal executable: 25K bytes
  MS-C executable: 10K bytes
  Time to execute:
	MS-Pascal           TurboPascal               MS-C
	---------           -----------              -------
	  2:55                4:37                    1:35
  (time in min:secs, includes access to network and printing)

This example is by no means a definite becnhmarking; and yet, for a first
time user of the various compilers on the IBM-PC, it seems that the various
claims of Turbo (fast faster fastest!!!) I have seen in some magazines are
somewhat overrated. The character level I/O seems to be most efficient in C,
and of the two Pascals, Turbo is definitely too slow.... It is nice to have
a fast compiler and integrated editor package, but if the code can't hack
it, I'll take the slow way during compiles every time!

(disclaimers galore: I don't work for any of these companies, and if I did
 they'd probably shoot me for sending mail like this...)

smvorkoetter@watmum.UUCP (Stefan M. Vorkoetter) (09/30/86)

Without seeing the code, it is difficult to compare these.  What kind of
file did you use in the Turbo code.  Turbo Pascal is incredibly fast at I/O
depending on how you implement it.  It would be interesting to see the code
for these filters (at least the I/O parts)