Ahl's benchmark is a combination of speed, aritmethic accuracy and quality of the random number generator. I omitted the random results, as I find one would have to run the benchmark a number of times to get an average value. The code looks something like this, adjusted to be run on CreatiVision BASIC:
Code: Select all
10 rem Ahl's simple benchmark
20 for n = 1 to 100
25 a = n
30 for i = 1 to 10
40 a = sqr(a)
45 r = r + rnd(0)
50 next i
60 for i = 1 to 10
70 a = a**2
75 r = r + rnd(0)
80 next i
90 s = s + a
95 next n
100 print "Accuracy ";abs (1010-s/5)
110 print "Random ";abs (1000-r)
The following results were timed, the majority on actual hardware:
Acorn Master Compact: 7.5 sec - accuracy 0,000022
Acorn BBC B: 21 sec - 0,000013
Acorn Electron: 29 sec - 0,000013
MSX Turbo-R: 30 sec - 0,0000002 ish
Apple IIc Plus: 31 sec
Amstrad CPC-6128 Plus: 39 sec - 0,00035 (Locomotive BASIC 1.1)
Atari 8-bit: 42 sec - 0,013 (Turbo BASIC XL)
Apple IIgs: 43 sec - 0,00104
VTech Laser 2001: 45 sec - 0,00034 (using A*A, I need to check if A**2 works here as well)
Atari 8-bit: 50 sec - 0,014 (BASIC XE)
Panasonic JR-200: 58 sec - 0,000218
Tandy CoCo 3: 71 sec - 0,000596 (69 sec with faster keyboard routine)
Atari 8-bit: 101 sec - 0,15 (Microsoft BASIC)
Dick Smith VZ-300 a.k.a. VTech Laser 300: 108 sec - 0,0338745
Commodore Plus/4: 109 sec - 0,00104
Commodore 64: 123 sec - 0,00104
Tandy MC-10: 123 sec - 0,000596
Oric Atmos: 144 sec - 0,00104
VTech CreatiVision: 191 sec - 0,37 (BASIC 1.0)
Atari 8-bit: 230 sec - 0,0018 (8K BASIC + Mathpack)
TI-99/4A: 235 sec - 0,00000001 (TI Extended BASIC)
TI-99/4A: 271 sec - 0,00000001 (TI BASIC)
ZX Spectrum: 290 sec - 0,00067
Atari 8-bit: 396 sec - 0,013 (BASIC XL)
Atari 8-bit: 405 sec - 0,013 (8K BASIC)
COMX-35: 450 sec - 0,32 (approximate timing)
Atari 8-bit: 456 sec - 0,036606
NEC PC-6601: 496 sec - 0,000478
Of course one single benchmark doesn't give the whole picture, in particular as it is so repetitive but even the "slow" version of CreatiVision BASIC isn't that awful, e.g. compared to original Atari BASIC that ran with CPU RAM on a 1.79 MHz 6502 compared to our 2 MHz 6502 and VDP RAM. It is well known that TI BASIC (another VDP BASIC IIRC) and Spectrum BASIC are slow, but I'm unsure what NEC did wrong with their 4 MHz Z80 based PC-6601 unless that is an erronous measurement.
Now, we can overlook the fact that CreatiVision BASIC however seems to have the worst accuracy of them all, an error of 0,37 after all those square roots and squaring it back again. It is in line with the also bad-mouthed COMX BASIC while most others have 1/10 or much less error margin.