info-mac@utcsrgv.UUCP (info-mac) (07/04/84)
Date: Tue 3 Jul 84 19:09:25-PDT
From: Stuart Reges <uw-beaver!REGES@SU-SCORE.ARPA>
Subject: MacPascal Benchmark
To: info-mac@SU-SCORE.ARPA
Office: Margaret Jacks 210, 497-9798
A simple Pascal benchmark is given by the recursive fibonnaci calculation:
program Fibonnaci (input, output);
var number: integer;
function fib (arg: integer): integer;
begin
if arg <= 2 then fib := 1
else fib := fib (arg - 1) + fib (arg - 2);
end;
begin
repeat
write ('number (0 to stop) ---> ');
readln (number);
if number <> 0 then writeln ('answer = ', fib (number));
until number = 0;
end.
This benchmark involves addition and a lot of function calls. The complexity
of this calculation is (phi)^n where phi = golden ratio = (SQRT(5) + 1)/2. A
nice property of this benchmark is that every time you increase "n" by 5 you
increase the complexity by a factor of about 11.
Here are some figures I got from three different systems that will be used for
instruction at Stanford next Fall:
"n" Waterloo MacPascal MacPascal DEC-20 Pascal
Interpretter (integer) (longint) Compiled
-----------------------------------------------------------------------
15 50 seconds 6.7 seconds 5.9 seconds
20 540 seconds 70.5 seconds 63.5 seconds 0.2 seconds
25 702.0 seconds 1.7 seconds
30 19.7 seconds
The Waterloo Pascal Interpretter runs on an IBM/PC. The MacPascal version
using INTEGER could not calculate FIB (25) because it is greater then MAXINT.
I don't know why the LONGINT version should be faster. That is
counter-intuitive for me. The DEC-20 Pascal is Hedricks compiler from Rutgers.
The time reported is actual CPU time. Other calculations were done with a
wrist-watch, but should be accurate to within a quarter second.
This is using the Beta version of MacPascal released last week.
-------info-mac@utcsrgv.UUCP (info-mac) (07/05/84)
Date: 4 Jul 84 17:06:13-CDT (Wed) From: Alan T Krantz <uw-beaver!atk%vanderbilt.csnet@csnet-relay.arpa> To: info-mac%su-score@csnet-relay.arpa Subject: re: Macpascal Benchmark I ran the Fib. bench mark on an IBM PC with TURBO pascal (version 2.0) to see how well the Macintosh interpreted pascal would perform on my everyday applications. The following are my results: "n" Time (in sec) 15 .22 20 1.75 25 18.20 30 192.00 All times were timed with a wrist watch and should be accurate to the nearest second. An overflow occured when N = 25, however overflow detection was turned off so this should not have affected the timing. Alan T. Krantz atk@vanderbilt