David Ahl's benchmark

Discuss the games, programs, utilities... and vaporware!
User avatar
Site Admin
Posts: 1021
Joined: Sun Sep 15, 2013 1:00 pm

Re: David Ahl's benchmark

Post by MADrigal » Thu Dec 19, 2013 4:02 pm

:shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock:

It must be from some educational toy computer by VTech!
User avatar
Posts: 495
Joined: Fri Jun 13, 2008 10:38 am
Location: Weinheim, Germany

Re: David Ahl's benchmark

Post by Mobsie » Thu Dec 19, 2013 4:25 pm

yes :D
User avatar
Posts: 505
Joined: Fri Jun 13, 2008 7:39 am
Location: Västerås, Sweden

Re: David Ahl's benchmark

Post by carlsson » Thu Dec 19, 2013 9:13 pm

Ok, here are the results for the Laser 2001 on the Byte Magazine benchmark. I used a Windows stopwatch program and added a beep with SOUND(190,5,15) to better read the time.

BM1 = 1.7 sec (a bit slow for being a 2 MHz 6502, even 1 MHz VIC-20 is faster on an empty FOR-NEXT loop)
BM2 = 6.7 sec (among the better ones for the K=K+1 : IF K<1000 loop)
BM3 = 11.6 sec (top layer, almost a contender vs BBC BASIC)
BM4 = 12.9 sec (still very fast)
BM5 = 15.3 sec (ditto)
BM6 = 26.0 sec (no longer excellent, but still very fast with the dual loops)
BM7 = 39.7 sec (same, just assignment added)
BM8 = 64.5 sec (this is super fast, only BBC BASIC is better on arith/log/trig)

If we calculate an average, it ends at about 22.3, much due to the very fast mathematics library.

I don't know if the Laser 2001 BASIC itself is that much faster than CreatiVision BASIC (quite possible that it is), or if the CPU RAM makes up a lot of the difference. As you can see and probably imagined, if the CreatiVision was equipped with RAM expansion and a different BASIC - perhaps a hacked version of Laser 2001 BASIC - it would go from awfully slow to one of the fastest 8-bit computers.

Ahl's benchmark using A=A**2 instead of A=A*A increases runtime from ~45 to 70.6 seconds in the version with one statement per row. Accuracy 0.00104. If we put multiple statements on each row, the benchmark runs about 0.2 seconds faster, so not much of a difference. Leaving out the variable names in NEXT brings down the total time to about 70.1 seconds. Actually I think Commodore BASIC would make a bigger difference in dropping the variable names on NEXT than what Laser 2001 BASIC does in this case.
Post Reply