Nobody asked for this. Nobody needs this. But here we are …
Inspired by J. G. Harston’s clever but domain-specific ClockSp benchmark, I set out to write a BASIC benchmark suite that was:
- more portable;
- based on a benchmark system that more people might own;
- and a bunch of other less important ideas.
Since I already had a Commodore 64, and seemingly several million other people did too, it seemed like a fair choice to use as the reference system. But the details, so many details …
(I mean: who knew that Commodore PET BASIC could run faster or slower depending on how your numbered your lines? Not me — until today, that is.)
While the benchmark doesn’t scale well for BASIC running on modern computers — the comparisons between a simple 8-bit processor at a few MHz and a multi-core wildly complex modern CPU at many GHz just aren’t applicable — it turns out I may have one of the fastest 8-bit BASIC computers around in the matchbox-sized shape of the MinZ v1.1 (36.864 Z180, CP/M 2.2, BBC BASIC [Z80] v3):
BASIC BENCH INDEX >I GOOD. NTSC C64=100 1/8 - FOR: 3.2 S; 12778 /S; I= 1895 2/8 - GOTO: 6.1 S; 4324.5 /S; I= 978 3/8 - GOSUB: 3.1 S; 6789 /S; I= 1935 4/8 - IF: 2.9 S; 4966.9 /S; I= 2046 5/8 - FN: 3.5 S; 1030.6 /S; I= 1698 6/8 - MATHS: 1.5 S; 255.3 /S; I= 4000 7/8 - STRING: 2.6 S; 1871.6 /S; I= 2279 8/8 - ARRAY: 3.1 S; 540.3 /S; I= 1935 OVERALL INDEX= 1839
That’s more than 9× the speed of a BBC Micro Model B.