I have a Basic Fractal Benchmark on this Google Sheet:

If anyone has cool computers with 80-columns and BASIC, try running this little program while timing it.

Report back so I can add it to the leaderboard.

docs.google.com/spreadsheets/d/1Sdh9vmm8RKGiE1-sTh9ThjFogLAoTg3M-5rL7LBWBUI/edit?usp=sharing
16
1
81
ran it on my old Amstad CPC464 (Locomotive BASIC 1.0) from 1988. made small additions to set 80 column mode, and accurate timing functions to avoid ballpark measurements.
1
1
3
(277 seconds, i would say)
1
0
2
Archimedes A3020
ARM250 12 mhz
9.5 seconds
2
0
3
Once the Archimedes has its original CPU I'll need to see how fast it runs this. The 2MHz BBC Model B was already super fast for the time.
0
0
1
In graphic mode 0 (lower resolution), it takes 7.5 seconds
1
0
0
Happy to see the BBC Micro as the fastest of the classic 8-bit micros. (For now).
2
0
0
Indeed! The 6502 is extremely efficient clock for clock, but beyond that BBC Basic is super fast for an interpreted basic. The 2Mhz Beeb is just slightly faster than a 4.77Mhz IBM PC 5150 running also BBC Basic. I should run this on my Electron to see how terribly slow that is. 😂
0
0
2
Amazing that it beat the Sinclair QL and it's 16 bit (ish) 7.5Mhz CPU. I guess that shows the folly of cheaping out on a 16 bit CPU by giving it an 8-bit data bus.
0
0
1
NEC PC-8801MkII SR
NEC uPD780C-1 @ 4MHz

325 seconds

This is using NEC N-88 ROM BASIC, 1981 Microsoft.

I will run again using Disk BASIC, which is a few years newer.
1
0
0
Nope, identical 🤣
0
0
1
I've got to hand emulators for several old systems which have BASIC interpreters which pre-date Microsoft's Altair one. I can't recall if they can do floating-point at all, or even if the rest of the code is compliant. I'll give them a test later in the week.
1
0
2
This version needs floating point basic. It is possible to alter it to run on integer basic, but that would need to be a different leaderboard, as floating point emulation is slow and part of the benchmark.
1
0
4
It takes about 4 seconds to run on a Tiny2040 running PicoMite BASIC. geoffg.net/picomite.html

No joy with any of the emulated systems yet - I can't get my install of PDP-8 BASIC to run any code, although I can edit it. The BASIC interpreter provided with Research Unix V4 from 1973 is very broken.
1
0
0
I've got PDP-8 BASIC to work in a PDP-8 emulator running on the same Tiny2040. It's difficult to time as running the code first starts the tokenizer, which takes some time, but the actual execution takes about 90 seconds. (1/2)
1
0
0
Verifone Tranz 330 credit card terminal. Z80 at 3.8MHz running MS BASIC 4.7b. Finished in 335 seconds.
0
0
1
Micro8088 (turbo XT), 8mhz V20, SVGA. Quickbasic 4: uncompiled, 12.23 seconds; compiled: 6.67 seconds.
2
0
2
Quick Basic uncompiled 12 seconds on a 8mhz computer sounds hard to believe. Quick Basic 1.1 on my 5170 (286 @ 8.8mhz) took 61 seconds -- so I have to think later versions like that do insane optimizations. Ok yes reading up on version 4 and up, it always compiles it, even running in the editor.
1
0
2
I should note that these are hand timed, so throwing out the fractions of a second (at least) is probably a good idea.
2
0
0
Ran the benchmark on a Compaq Portable and a DTK XT clone, both 8088s running MS-DOS 3.22 with GW Basic. Compaq Portable came in around 290s, XT clone came in at 293s, 174s with 8mhz turbo
0
0
3
Intel i5-4690K, Linux Mint, QB64 x64:

real 0m0.280s
user 0m0.255s
sys 0m0.025s
0
0
2
Had to dig out my Facit DTC, a rebadged Luxor ABC800 from 1981, renowned for their fast semi-compiled Basic. Clocked in at 166 seconds, not bad for a Z80@3MHz.
1
0
4
What a cool looking machine!! Thanks for the run, it's been added to the list
1
0
2
I decided to have some fun and dig out a few of my retro kits.

VCFMW 6502 BADGE 6502@1MHz, EhBASIC - 206 SECONDS

Z80 membership card Z80@4MHz, MBASIC under CP/M 2.2 - 305 seconds

SCC131 Z180@9.216MHz, mbasic under CP/M 2.2 - 57 seconds
0
0
2
All I see are the runtimes. Where is the source?
1
0
0
"G" column

10 FOR Y=-12 to 12
20 FOR X=-39 TO 39
30 CA=X*.0458
40 CB=Y*.08333
50 A=CA
60 B=CB
70 FOR I = 0 TO 15
80 T=A*A-B*B+CA
90 B=2*A*B+CB
100 A=T
110 IF(A*A+B*B)>4 GOTO 200
120 NEXT I
130 PRINT " ";
140 GOTO 210
200 IF I>9 THEN I=I+7
205 PRINT CHR$(48+I);
210 NEXT X
220 PRINT
230 NEXT Y
0
0
3
Intex Xeon X5690 X12 Ubuntu 24.04 running yabasic. Runtime 0.022s

Had to add ENDIF statements to terminate the IF conditionals. And added a THEN before the GOTO on line 110.
1
0
0
I guess it matters what you want to consider the 'real' time. Here's what a system timing of the process reports.

real 0m0.023s
user 0m0.017s
sys 0m0.006s
1
0
0
my XT clone theretroweb.com/motherboards/s/dtk-pim-640-turbo
IBM Basic ROM version C1.10
309s @ 4.77Mhz
189s @ 8Mhz

under DOS 3.31 with MS GW-Basic 3.22
295s @ 4.77Mhz
0
0
1
Hi @adriansdigitalbasement.com !
So I tested the program on my Thomson TO9 which is powered by a 6809E@1MHz. It's running Microsoft Basic 128.
Total time: 580s
0
0
0