David Ahl's benchmark
Re: David Ahl's benchmark
It must be from some educational toy computer by VTech!
Re: David Ahl's benchmark
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.
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.