![]() |
Forum Index : Microcontroller and PC projects : BASIC Speed Benchmark Tests
![]() ![]() |
|||||
Author | Message | ||||
lizby Guru ![]() Joined: 17/05/2016 Location: United StatesPosts: 2265 |
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 on fruitoftheshed |
||||
twofingers Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1028 |
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: NetherlandsPosts: 1518 |
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 If nothing goes right ... turn left |
||||
lizby Guru ![]() Joined: 17/05/2016 Location: United StatesPosts: 2265 |
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 on fruitoftheshed |
||||
toml_12953 Senior Member ![]() Joined: 13/02/2015 Location: United StatesPosts: 259 |
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: 1518 |
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. If nothing goes right ... turn left |
||||
Tinine Guru ![]() Joined: 30/03/2016 Location: United KingdomPosts: 1335 |
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: 1518 |
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 If nothing goes right ... turn left |
||||
![]() ![]() |
![]() |