Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 02:34 20 Apr 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : BASIC Speed Benchmark Tests

     Page 4 of 6    
Author Message
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3008
Posted: 09:38pm 22 May 2021
Copy link to clipboard 
Print this post

  Mixtel90 said  Benchmarks have been quoted ever since computers started - and they still don't mean much.

For hardware which runs MMBasic, they do a pretty good job of showing the relative performance of the ports on different platforms. No one here is jazzing the benchmark to gain a better look. CG's code is unchanged since 2012. Peter has even used published benchmark timings to improve the firmware (timings which revealed firmware shortcomings relative to other MMBasic ports).

The CG benchmark doesn't show everything which might be important for some particular use, but as a comparison within the family, it seems pretty revealing.

~
Edited 2021-05-23 07:39 by lizby
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
twofingers
Guru

Joined: 02/06/2014
Location: Germany
Posts: 1133
Posted: 12:03pm 23 May 2021
Copy link to clipboard 
Print this post

  Mixtel90 said  String handling: don't run into garbage collection on an old computer or the result is meaningless, even on that machine. Unless you are testing for the efficiency of garbage collection, of course. :)

FYI
On the old computers (eg C64), the garbage collection was a "party pooper".
MMBasic does not use/needs no garbage collection (AFAIK).

Michael
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3496
Posted: 12:48pm 23 May 2021
Copy link to clipboard 
Print this post

Benchmarks....

I remember from the earlier calculators that calculating 69! was a benchmark.
And the cheap casio's outperformed more expensive TI calculators. And then TI made a quick fix. There are only 69 possible integer numbers until 69, so they implemented a lookup table specific for the ! calculations. And the results where immediate. Not calculated, but taken from a table.

An ancient version of Dieselgate....

Volhout
Edited 2021-05-23 22:49 by Volhout
PicomiteVGA PETSCII ROBOTS
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3008
Posted: 11:28pm 04 Sep 2021
Copy link to clipboard 
Print this post

Perhaps time for an update.
                 BM1     BM2    BM3      BM4     BM5     BM6     BM7     BM8
ABC 800 single   0.9     1.8    6.0      5.9     6.3    11.6    19.6     2.9
ABC 800 double   1.2     2.2    10.0    10.6    11.0    17.8    26.4    14.4
IBM PC           1.5     5.2    12.1    12.6    13.6    23.5    37.4     3.5
Apple III        1.7     7.2    13.5    14.5    16.0    27.0    42.5     7.5
VIC-20           1.4     8.3    15.5    17.1    18.3    27.2    42.7     9.9
ZX81 "fastmode"  4.5     6.9    16.4    15.8    18.6    49.7    68.5    22.9

Maximite         0.016   0.144   0.196   0.205   0.354   0.512   0.721   0.310

Maximite w. #s   0.016   0.131   0.193   0.194   0.245   0.393   0.582   0.241
Maximite w/o #s  0.016   0.111   0.173   0.173   0.192   0.336   0.525   0.220
MicroMite 40MHz  0.028   0.18    0.285   0.289   0.644   0.892   1.346   0.376
MicroMite 48MHz  0.023   0.15    0.237   0.24    0.536   0.744   1.121   0.313
MM+ MX470 120MHz 0.013   0.082   0.135   0.135   0.265   0.380   0.597   0.174
MMX 198MHz       0.006   0.045   0.07    0.08    0.141   0.201   0.287   0.126
Picromite ZeroW  0.014   0.058   0.093   0.102   0.184   0.298   0.354   0.127
Armmite H7       0.003   0.023   0.038   0.042   0.067   0.098   0.146   0.065
ArmMite F4       0.011   0.079   0.14    0.149   0.249   0.354   0.528   0.257
MMBASIC DOS      0.0002  0.0017  0.0028  0.0028  0.0073  0.0092  0.0117  0.0058
CMM2             0.00176 0.0118  0.01903 0.01728 0.03611 0.05062 0.07582 0.02851
PicoMite         0.0166  0.1096  0.1800  0.1840  0.3325  0.4715  0.6688  0.3193
Linux            0.0000  0.0020  0.0040  0.0040  0.0080  0.0130  0.0190  0.0070

C-Language
Arduino UNO      0.010   0.010   0.058   0.043   0.043   0.043   0.045   0.284
Arduino DUE      0.003   0.003   0.006   0.007   0.007   0.007   0.106   0.014
ESP32S           0.00007 0.00007 0.00030 0.00011 0.00016 0.00016 0.00016 0.02413


CMM2 has gained many speedups since first introduced. Numbers here from today (400mHz).
Linux version is an unreleased work in progress.
Speeds for Linux, DOS, and Picromite (no longer supported) obviously depend on the hardware.

As Geoff implies early in this thread, it's an astonishing ride we early "home computer" enthusiasts have been on for the last 40+ years. And quite a ride for MMBasic, too.

~
Edited 2021-09-05 10:25 by lizby
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
toml_12953
Guru

Joined: 13/02/2015
Location: United States
Posts: 324
Posted: 02:28am 05 Sep 2021
Copy link to clipboard 
Print this post

  halldave said  Has anyone got a working Dick Smith System 80 or Tandy TRS-80 Model I Level II they could run these Benchmarks on?



Check the original article

Rugg-Feldman Benchmarks

to see comparisons of various systems. There was a follow-up article

BASIC Timings Revisited

which had timings for more systems. Neither the DS nor TRS-80 were on there, though.
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3496
Posted: 07:08pm 07 Sep 2021
Copy link to clipboard 
Print this post

I am not sure whommaintains this list, but you may want to add the score for BBC basic V on the Raspberry Pi zero, running RiscOS pico on bare metal.

Bm1: 0.0001
Bm2: 0.0007
Bm3: 0.0016
Bm4: 0.0014
Bm5: 0.0015
Bm6: 0.0030
Bm7: 0.0030
Bm8: 0.0036

Rather fast...

Since BBC basic V uses a single core, it will not be much faster on multicores like the Pi 3 or 4. Since it only depends on clock speed.
PicomiteVGA PETSCII ROBOTS
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 07:33pm 07 Sep 2021
Copy link to clipboard 
Print this post

Well mine has been quoted several times but is totally blown off:

-MX170
-40MHz
-Possible to have a live prompt during code execution
-Up to 20 tasks
-Close to 120k flash for programs

Bypic is no longer developed but it already works!

If you need serious performance but from a simple MX170.....


 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3496
Posted: 06:48am 08 Sep 2021
Copy link to clipboard 
Print this post

It is done...


                 BM1     BM2    BM3      BM4     BM5     BM6     BM7     BM8
80's computers
ABC 800 single   0.9     1.8    6.0      5.9     6.3    11.6    19.6     2.9
ABC 800 double   1.2     2.2    10.0    10.6    11.0    17.8    26.4    14.4
IBM PC           1.5     5.2    12.1    12.6    13.6    23.5    37.4     3.5
Apple III        1.7     7.2    13.5    14.5    16.0    27.0    42.5     7.5
VIC-20           1.4     8.3    15.5    17.1    18.3    27.2    42.7     9.9
ZX81 "fastmode"  4.5     6.9    16.4    15.8    18.6    49.7    68.5    22.9

MMBasic
Maximite         0.016   0.144   0.196   0.205   0.354   0.512   0.721   0.310
Maximite w. #s   0.016   0.131   0.193   0.194   0.245   0.393   0.582   0.241
Maximite w/o #s  0.016   0.111   0.173   0.173   0.192   0.336   0.525   0.220
MicroMite 40MHz  0.028   0.18    0.285   0.289   0.644   0.892   1.346   0.376
MicroMite 48MHz  0.023   0.15    0.237   0.24    0.536   0.744   1.121   0.313
MM+ MX470 120MHz 0.013   0.082   0.135   0.135   0.265   0.380   0.597   0.174
MMX 198MHz       0.006   0.045   0.07    0.08    0.141   0.201   0.287   0.126
Picromite ZeroW  0.014   0.058   0.093   0.102   0.184   0.298   0.354   0.127
Armmite H7       0.003   0.023   0.038   0.042   0.067   0.098   0.146   0.065
ArmMite F4       0.011   0.079   0.14    0.149   0.249   0.354   0.528   0.257
MMBASIC DOS      0.0002  0.0017  0.0028  0.0028  0.0073  0.0092  0.0117  0.0058
CMM2             0.00176 0.0118  0.01903 0.01728 0.03611 0.05062 0.07582 0.02851
PicoMite         0.0166  0.1096  0.1800  0.1840  0.3325  0.4715  0.6688  0.3193
Linux            0.0000  0.0020  0.0040  0.0040  0.0080  0.0130  0.0190  0.0070

Other Recent Basics
ByPic MX170 40M  0.001   0.010   0.023   0.020   0.027   0.041   0.080   0.043
BBC_V Pi Zero    0.0001  0.0007  0.0016  0.0014  0.0015  0.0030  0.0030  0.0036

C-Language
Arduino UNO      0.010   0.010   0.058   0.043   0.043   0.043   0.045   0.284
Arduino DUE      0.003   0.003   0.006   0.007   0.007   0.007   0.106   0.014
ESP32S           0.00007 0.00007 0.00030 0.00011 0.00016 0.00016 0.00016 0.02413


And...too bad... the SD card image for RISCOS PICO (BBC basic without the graphics RiscOS desktop) is taken offline, and is no longer supported, similar to ByPic and PicroMite. The full suite RiscOS is still actively maintained.
Edited 2021-09-08 17:09 by Volhout
PicomiteVGA PETSCII ROBOTS
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3008
Posted: 05:21pm 01 Sep 2022
Copy link to clipboard 
Print this post

With Annex RDS for ESP32 added:
                BM1     BM2    BM3      BM4     BM5     BM6     BM7     BM8
80's computers
ABC 800 single   0.9     1.8    6.0      5.9     6.3    11.6    19.6     2.9
ABC 800 double   1.2     2.2    10.0    10.6    11.0    17.8    26.4    14.4
IBM PC           1.5     5.2    12.1    12.6    13.6    23.5    37.4     3.5
Apple III        1.7     7.2    13.5    14.5    16.0    27.0    42.5     7.5
VIC-20           1.4     8.3    15.5    17.1    18.3    27.2    42.7     9.9
ZX81 "fastmode"  4.5     6.9    16.4    15.8    18.6    49.7    68.5    22.9

MMBasic
Maximite         0.016   0.144   0.196   0.205   0.354   0.512   0.721   0.310
Maximite w. #s   0.016   0.131   0.193   0.194   0.245   0.393   0.582   0.241
Maximite w/o #s  0.016   0.111   0.173   0.173   0.192   0.336   0.525   0.220
MicroMite 40MHz  0.028   0.18    0.285   0.289   0.644   0.892   1.346   0.376
MicroMite 48MHz  0.023   0.15    0.237   0.24    0.536   0.744   1.121   0.313
MM+ MX470 120MHz 0.013   0.082   0.135   0.135   0.265   0.380   0.597   0.174
MMX 198MHz       0.006   0.045   0.07    0.08    0.141   0.201   0.287   0.126
Picromite ZeroW  0.014   0.058   0.093   0.102   0.184   0.298   0.354   0.127
Armmite H7       0.003   0.023   0.038   0.042   0.067   0.098   0.146   0.065
ArmMite F4       0.011   0.079   0.14    0.149   0.249   0.354   0.528   0.257
MMBASIC DOS      0.0002  0.0017  0.0028  0.0028  0.0073  0.0092  0.0117  0.0058
CMM2             0.00176 0.0118  0.01903 0.01728 0.03611 0.05062 0.07582 0.02851
PicoMite         0.0166  0.1096  0.1800  0.1840  0.3325  0.4715  0.6688  0.3193
Linux            0.0000  0.0020  0.0040  0.0040  0.0080  0.0130  0.0190  0.0070

Other Recent Basics
ByPic MX170 40M  0.001   0.010   0.023   0.020   0.027   0.041   0.080   0.043
BBC_V Pi Zero    0.0001  0.0007  0.0016  0.0014  0.0015  0.0030  0.0030  0.0036
Annex RDS ESP32  0.032   0.223   0.384   0.338   0.463   0.714   1.224   0.631

C-Language
Arduino UNO      0.010   0.010   0.058   0.043   0.043   0.043   0.045   0.284
Arduino DUE      0.003   0.003   0.006   0.007   0.007   0.007   0.106   0.014
ESP32S           0.00007 0.00007 0.00030 0.00011 0.00016 0.00016 0.00016 0.02413

PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
twofingers
Guru

Joined: 02/06/2014
Location: Germany
Posts: 1133
Posted: 07:05pm 01 Sep 2022
Copy link to clipboard 
Print this post

  Volhout said  
And...too bad... the SD card image for RISCOS PICO (BBC basic without the graphics RiscOS desktop) is taken offline, and is no longer supported, similar to ByPic and PicroMite. The full suite RiscOS is still actively maintained.

??
https://www.riscosopen.org/content/downloads/raspberry-pi

https://www.riscosopen.org/zipfiles/platform/raspberry-pi/RISCOSPi.5.28.zip?1644534427

Regards
Michael
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3496
Posted: 09:47pm 01 Sep 2022
Copy link to clipboard 
Print this post

Riscos pico was a very small image of just the basic interpreter. No gui, nothing. Directly booting bbc basic V
PicomiteVGA PETSCII ROBOTS
 
scruss
Regular Member

Joined: 20/09/2021
Location: Canada
Posts: 83
Posted: 03:03am 02 Sep 2022
Copy link to clipboard 
Print this post

  Volhout said  Riscos pico was a very small image of just the basic interpreter. No gui, nothing. Directly booting bbc basic V

It was also an unmaintained once-off for a particular event. It doesn't run on the most recent Raspberry Pi boards.

If you're desperate to have it, the Internet Archive is your friend: RISC OS Open Downloads. Otherwise, it's possible to set the regular RISC OS for the Raspberry Pi to boot straight to BASIC: RISC OS Pico-alike. Yes, a larger download, but still quite small.

The Raspberry Pi Pico BBC BASIC isn't the same codebase as the RISC OS ARM one, btw. It's running a modified version of Richard Russell's portable BBC BASIC for SDL 2.0. The original RISC OS BASIC would be well-nigh impossible to port to the Cortex-M0+.
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 1639
Posted: 09:56pm 02 Sep 2022
Copy link to clipboard 
Print this post

I wrote an 8 sprite program that plotted 16 lines of 16 pixels and animated them. It ran 10 times slower than a mega328p ie uno using gcbasic.
OK, when I used blit mmbasic was faster just shows speed tests just test certain things.
 
Andrew_G
Guru

Joined: 18/10/2016
Location: Australia
Posts: 840
Posted: 10:32pm 02 Sep 2022
Copy link to clipboard 
Print this post

Hi All, and apologies to Stan (this is NOT directed to you).

Call me old-fashioned but I grew up in an era when the Queen/Kings' English was used and widely understood.

Can someone please explain (seriously) what "10 times slower" actually means, and how one derives that meaning.

Does it take 1/10th of the time - i.e. is actually faster or does it run at 1/10th of the speed - i.e. is actually slower?
Without knowing the derivation of this American slang I truly have no idea what is meant.

Many thanks,

Andrew
Edited 2022-09-03 08:33 by Andrew_G
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3008
Posted: 10:47pm 02 Sep 2022
Copy link to clipboard 
Print this post

Probably not being helpful here, but the "American slang" is coming from a UK member.

This American would not use this construction (and it grates on me even when I know what is meant), but would say something like "takes 10 times as long to run".
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 06:05am 03 Sep 2022
Copy link to clipboard 
Print this post

I wouldn't blame America for that one. Many decades ago, I had the misfortune to be present during an episode of Coronation Street and I distinctly remember one of the characters making the remark; "that'll be four times cheaper in America, that will".

I'm back in England after 30 years in the US and I have to tolerate way more moronic sh*te here.

Apart from their double negatives, the only irritating non-sensical remarks that most Americans use are things like:

"The proof is in the pudding" and "I could care less"  
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3649
Posted: 06:07am 03 Sep 2022
Copy link to clipboard 
Print this post

"10 times slower" should be that it takes 10 times as long.  (The clue being the word "slower".)

(Also, often the "10" is a rounded or approximate figure, to make a point.)

John
 
toml_12953
Guru

Joined: 13/02/2015
Location: United States
Posts: 324
Posted: 08:18am 03 Sep 2022
Copy link to clipboard 
Print this post

  Tinine said  
Apart from their double negatives, the only irritating non-sensical remarks that most Americans use are things like:

"The proof is in the pudding" and "I could care less"  


We Americans tend to shorten things (anybody care for a bunch of letter "U"s we don't need in words like color and favor?), so they still make sense to us but sound funny to others.

"The proof of the pudding is in the eating" of course makes more sense but we shortened it and still understand its general meaning.

A professor of English told his class that in English, a double negative is a positive and in Russian a double negative is still a negative. He also said that there's no language in which a double positive is a negative.

A student responded, "Yeah, right."
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 5705
Posted: 08:27am 03 Sep 2022
Copy link to clipboard 
Print this post

As long as I don't have to use a "soddering" iron and "sodder" I'm fine. ;)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
zeitfest
Guru

Joined: 31/07/2019
Location: Australia
Posts: 375
Posted: 09:03am 03 Sep 2022
Copy link to clipboard 
Print this post

  Quote  
...
Edited 2022-09-03 08:33 by Andrew_G

...
...
Posted: 10:47pm 02 Sep 2022


It seems the edit was done after the next post by lizby ? What gives ?

As for the Queen/Kings' english... you might ask the
Saxe-Coburg-Gotha (now Windsor) family ...  
 
     Page 4 of 6    
Print this page
© JAQ Software 2024