Some benchmarks for ARM BASIC


Should have published some of this data long ago. But better late than never. I ran some very simple integer and floating point benchmarks on all the parts I could find that I have BASIC running on.

Yes, we just got a BASIC running on the Arduino Zero - SAMD21, and we are looking for beta testers, and gauging interest in adding this. We intend it to be a free download.

Sure there are Coremark numbers published by all chip vendors. But Coremark is copyrighted and takes a little configuring and only in C. Mine are not intended as an expansive benchmark, but as a quick test that can be implemented in a few minutes on nearly any device or language.

Floating point test

dim x as single
x=1000000
while x>1
  x=x/1.0001
  i=i+1  ' -- count iterations -- about 138K
loop

Integer test

i=1000000
while i
  i=i-1
loop

And the results

Device Float Integer raw CPU clock notes
nRF51822 5442 ms 1018 ms 16 Mhz microbit
LPC824 4193 ms 653 ms 30 Mhz
LPC1549 3719 ms 1001 ms 72 Mhz
LPC11U37 2706 ms 418 ms 50 Mhz
LPC11U68 2855 ms 419 ms 50 Mhz
SAMD21 1887 ms 310 ms 48 Mhz Arduino Zero
MK20DX128 1167 ms 273 ms 72 Mhz Teensy3.0
MK20DX256 795 ms 276 ms 72 Mhz Teensy3.2
LPC2103 677 ms 317 ms 50 Mhz
STM32F411 110 ms 139 ms 100 Mhz Nucleo
LPC1751 519 ms 120 ms 96 Mhz
LPC1756 511 ms 125 ms 96 Mhz
LPC54102 97 ms 125 ms 100 Mhz dual CPU
LPC54102 M0 1930 ms 259 ms 100 Mhz dual CPU
LPC4078 73 ms 101 ms 120 Mhz
LPC54005 43 ms 73 ms 180 Mhz
STM32G431 43 ms 71 ms 170 Mhz Nucleo
LPC4330 39 ms 70 ms 200 Mhz dual CPU
RT1062 13.9 ms 15 ms 600 Mhz Teensy 4.0
old HP netbook 125 ms 344 ms 1600 Mhz Atom N270
GPD PC 31 ms 141 ms 1600 Mhz Atom x7 Z8750
Dell PC 9 ms 34 ms 2760 Mhz i5 3330S CPU
QBasic on Dell 500 ms 3789 ms 2760 Mhz i5 3330S CPU
QB64 on Dell 1.7 ms 3.2 ms 2760 Mhz i5 3330S CPU

Not all these parts became products, but were designed as special versions for OEMs.

The last are the PC's I use most of the time, and those PC's are running the PC-ARMbasic emulator (which compiles to interpreted opcodes). QBasic is an interpreter and quite a bit slower than the PC-ARMbasic emulator. QB64 compiles to native 64bit PC instructions.

The PC-ARMbasic emulator can be run from the command line on nearly any PC, maybe someone wants to expand this,

To comment check out the forum

Next Previous