[comp.lang.pascal] Apple GS Pascal benchmarks

BHUBER@ECLA.USC.EDU (09/19/87)

Listed below are benchmark data for three Apple GS Pascal compilers. 
The application is one which reads an Appleworks AWP text file from
disk, does some processing and reformatting based on table lookups, and
then writes out an ASCII text file for use by commercial typesetting
equipment.     


                      TML         TML/APW       Orca           Orca
                     Pascal       Pascal       Pascal         Pascal
                                            (no-optimize)   (optimized)
-------------------------------------------------------------------------
program source size   440           440         441             441
 (lines of code)

compilation time      0:08          0:16        0:27            1:20
 (minutes:seconds)

link-edit time        n/a           0:36        0:29            0:27
 (minutes:seconds)

resulting code file   S16           EXE         EXE             EXE
 filetype 

resulting code file   60            48          60              53
 size (blocks)

input data file size
 (characters)        145,715       145,715     145,715         145,715
 (lines)              2832          2832        2832            2832

execution time       33:52          33:57       19:20           18:11
 (minutes:seconds)

operating            desktop         desktop     text            text
 environment         (forced)        (forced)    mode            mode

Application description:

Other than enumerated types, pointers, random file access, and
records, just about every other standard Pascal construct is used in
the source code.  This particular application does not utilize the
mouse or any explicit desktop or TOOL functions.  A kind of "plain
vanilla Pascal" program.

Comments:

All of the above are running on a stock II-GS with 1.5 MB ram (AE
card) and SCSI hard disks.  Difference in source code size is related
to Orca needing compiler directive(s) in the source code above the
'program' line.  Identical code between the two with exception of some
trivial syntax and semantics changes (input file type definitions are
different and the 'otherwise' and 'halt' statements are slightly
different).  TML has an 'inc()' and 'dec()' procedure which was
utilized in ported over version in quicksort routine and in a binary
tree table lookup procedure; inc(x) is the same as x := x + 1; etc.;
inference being that it runs quicker. Otherwise: identical source code.
I had some difficulty with "LIB" library file conflicts by having both
Orca Pascal and TML Pascal libraries on the hard disk (PREFIX 2/)
simultaneously; problem resolved by temporarily changing the filetype
of the opposing library file during link-edit phase.  I don't like TML
forcing all applications to run on the desktop. 

Conclusion:

I prefer Orcal Pascal, not only for the obvious based on the above
data, but also because it appears to be much more in compliance with
the ANS Pascal standard, at least as I understand it.  I have been able
to compile some TML programs which "violate" type checking in wierd
ways.  Sometimes a person may want to do this, but I generally do not
(use C code when that is important).  My experience with both vendors
relative to support has been superlative; Byte Works (APW shell creator
and maker of Orca Pascal) has a slight edge over TML in that prior
conversations (not that many, by the way) lead me to believe they are
not only interested in answering my specific inquiry, but they go
further and insure that I understand the rationale behind the
discussion (something which I appreciate tremendously!).  Byte Works
is, in my opinion, the penultimate software house in terms of support,
quality, price, and commitment to well-thought-out products. 

Have a nice day.

Bud Huber
Long Beach, CA