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 8 | |||||
Author | Message | ||||
lizby Guru Joined: 17/05/2016 Location: United StatesPosts: 3150 |
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: GermanyPosts: 1240 |
FYI On the old computers (eg C64), the garbage collection was a "party pooper". MMBasic does not use/needs no garbage collection (AFAIK). Michael causality ≠correlation ≠coincidence |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4222 |
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 StatesPosts: 3150 |
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 StatesPosts: 339 |
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: NetherlandsPosts: 4222 |
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 KingdomPosts: 1646 |
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: NetherlandsPosts: 4222 |
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 StatesPosts: 3150 |
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: GermanyPosts: 1240 |
?? https://www.riscosopen.org/content/downloads/raspberry-pi https://www.riscosopen.org/zipfiles/platform/raspberry-pi/RISCOSPi.5.28.zip?1644534427 Regards Michael causality ≠correlation ≠coincidence |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4222 |
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: CanadaPosts: 83 |
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 KingdomPosts: 2120 |
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: AustraliaPosts: 847 |
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 StatesPosts: 3150 |
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 KingdomPosts: 1646 |
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 KingdomPosts: 3800 |
"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 StatesPosts: 339 |
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 KingdomPosts: 6778 |
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: AustraliaPosts: 482 |
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 8 |
Print this page |