Menu
JAQForum Ver 19.10.27

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

   Page 6 of 8    
Posted: 04:21pm
05 Sep 2022
Copy link to clipboard
stanleyella
Guru


  thwill said  
  stanleyella said  Northern English people do not say "have a look at this book" they say" have a luke at this buke"
Or "I am eating my dinner" it is "I be having me dinner"


I'm "Northern English" and I can say that such generalities are complete twaddle and these are cliches that should be reserved for the Four Yorkshiremen sketch.

Best wishes,

Tom


All my family spoke like that. From Salford, Preston , Chorley ,Hull.
From my heart that is how I remember my family.
My mother lived to 87 and 50 years in Cardiff did not change here accent and the way she spoke.
I would give anything to hear her voice again.
 
Posted: 05:28pm
05 Sep 2022
Copy link to clipboard
JohnS
Guru

I'm with Tom - it's generally not true that they speak anything like that.

John
 
Posted: 05:49pm
05 Sep 2022
Copy link to clipboard
thwill
Guru


I'm the younger generation, my parents are from Salford and Oldham and probably of your generation. The generation before that (my grandparents) probably did speak with all those cliches (though not to my now distant recollection). I suspect the BBC and more general education has and continues to erode the regional differences from anything other than the soap operas.

Best wishes,

Tom
Edited 2022-09-06 03:50 by thwill
 
Posted: 06:40pm
05 Sep 2022
Copy link to clipboard
Tinine
Guru

Wow, hang out in Leyland for five minutes, it's horrendous.

There's no 'h' or 'g' in having.

"am 'avin' me dinner"

Male or female, it's rare to hear someone get through a sentence without at least one profanity.

Parents address their offspring using the f-bomb or the c-bomb.

"kecklec" for kettle
"bockle" for bottle
"ospickal" for hospital

"ee learned me to drive"
"ee borrowed me ten quid"


Edited 2022-09-06 04:40 by Tinine
 
Posted: 06:52pm
05 Sep 2022
Copy link to clipboard
stanleyella
Guru


  thwill said  I'm the younger generation, my parents are from Salford and Oldham and probably of your generation. The generation before that (my grandparents) probably did speak with all those cliches (though not to my now distant recollection). I suspect the BBC and more general education has and continues to erode the regional differences from anything other than the soap operas.

Best wishes,

Tom

I am 68 and maybe you are right like how "old speak" gets lost.
In C-air-diff as it is spoken it is a strange mix of cockney and welsh english going back 100 years. Cardiff (/?k??rd?f/; Welsh: Caerdydd [kair?di?ð, ka??r?d??ð]
You have to go only 20 miles to the next town to find a very different accent.

Funny I can't follow other people's code and probably they can't follow mine.
 
Posted: 10:06pm
07 Jul 2023
Copy link to clipboard
ice2642
Regular Member


Taking advantage of the fact that you are discussing forms of pronunciation, which is more correct, grey or gray?

Many will choose one color or another, but may end up realizing that there are many other colors, unless your picoMite VGA has output 1-2-1 :)
Edited 2023-07-08 08:07 by ice2642
 
Posted: 06:39am
03 May 2024
Copy link to clipboard
Volhout
Guru

Since PicoMite has grown over the past yers, a small 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
PicoMite V50800  0.0132  0.0969  0.1636  0.1641  0.2866  0.4051  0.5821  0.2824  126MHz
PicoMite V50800  0.0046  0.0338  0.0571  0.0574  0.0998  0.1410  0.2030  0.0974  378MHz
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


At 252MHz the PicoMite is very similar to an MMX at 200MHz, it only lacks 100 I/O pins. Also since last MMX update the PicoMite and MMX commands have very much aligned.
Edited 2024-05-03 17:09 by Volhout
 
Posted: 01:56pm
03 May 2024
Copy link to clipboard
lizby
Guru

Thanks for the update. Picomite at 378MHz better than the ArmMite F4--that's impressive (but I wonder if the F4 numbers are recent--I think some systematic MMBasic speed improvements got backported).
 
Posted: 07:51pm
03 May 2024
Copy link to clipboard
stanleyella
Guru


the lgt328 is 32mhz, 2x uno 328. I got but dunno the test code ... for gcbasic
 
Posted: 08:23pm
03 May 2024
Copy link to clipboard
vegipete
Guru


Could someone post the actual test suite used for benchmarking?
 
Posted: 08:26pm
03 May 2024
Copy link to clipboard
PhenixRising
Guru

Maybe we should replace GOTO and use INC instead of var = var + 1?



Print "Maximite Benchmark tests"
Print " "

Print "Benchmark 1"
Timer = 0
For j = 1 To 1000
Next j
Print Timer / 1000
Print " "

Print "Benchmark 2"
Timer = 0
j =j0
BM2:
j = j+1
If j < 1000 GoTo BM2
Print Timer / 1000
Print " "

Print "Benchmark 3"
Timer = 0
j = 0
BM3:
j = j+1
a = j/j*j+j-j
If j < 1000 GoTo BM3
Print Timer / 1000
Print " "

Print "Benchmark 4"
Timer = 0
j = 0
BM4:
j = j+1
a = j/2*3+4-5
If j < 1000 GoTo BM4
Print Timer / 1000
Print " "

Print "Benchmark 5"
Timer = 0
j = 0
BM5:
j = j+1
m = j/2*3+4-5
Gosub 4000
If j < 1000 GoTo BM5
Print Timer / 1000
Print " "

Print "Benchmark 6"
Timer = 0
j = 0
dim ray(5)
BM6:
j = j+1
m = j/2*3+4-5
Gosub 4000
For q = 1 TO 5
Next q
If j < 1000 GoTo BM6
Print Timer / 1000
Print " "

Print "Benchmark 7"
Timer = 0
j = 0
dim ray2(5)
BM7:
j = j+1
m = j/2*3+4-5
Gosub 4000
For q = 1 TO 5
ray2(q) = m
Next q
If j < 1000 GoTo BM7
Print Timer / 1000
Print " "

Print "Benchmark 8"
Timer = 0
j = 0
BM8:
j = j+1
m = j^2
blog = LOG(j)
csin = SIN(j)
If j < 1000 GoTo BM8
Print Timer / 1000

End

4000 RETURN

 
Posted: 09:06pm
03 May 2024
Copy link to clipboard
Volhout
Guru

Hi Phenix,

Do you know a ZX81 that can use INC ?

Regards,

Volhout
 
Posted: 10:25pm
03 May 2024
Copy link to clipboard
stanleyella
Guru


in gcbasic var=var+1 could be var ++. it would be same speed but less typing.
 
Posted: 10:39pm
03 May 2024
Copy link to clipboard
toml_12953
Guru

  PhenixRising said  Maybe we should replace GOTO and use INC instead of var = var + 1?


But then you can't compare it to all the BASICs that have been benchmarked before or those that can't use INC. The validity of benchmarks lies in the running of identical code (or as similar as possible) on different machines. Taking advantage of features or quirks of a particular machine such as defining variables as integers that are available on some but not others muddies the comparison.

The same goes for people who complain that a benchmark is inefficient. That misses the point. The point isn't to optimize programs but to see how various machines run the same code (hardware benchmark) or how one machine runs an algorithm written in different languages or dialects of the same language (software benchmark)
 
Posted: 11:08pm
03 May 2024
Copy link to clipboard
phil99
Guru


One issue with benchmarks is they don't always compare real world problems.

If the intent is to find which platform can achieve a particular task fastest regardless of method, then each platform should be allowed to use all the tricks it has at it's disposal to achieve that task.

Trying to compare the same code on each (or as close as possible) may hide the true potential of them.

Eg. When doing a speed comparison of jet aircraft, only one of which has an afterburner, you wont get a valid result if it is not permitted to use the afterburner.
.
Edited 2024-05-04 09:17 by phil99
 
Posted: 12:26am
04 May 2024
Copy link to clipboard
PhenixRising
Guru

I thought it was a general comparison of old vs new.

Today we have 32bit CPUs and we have FPUs

The guy on YouTube who compared PicoBasic with Python? He did the exact same thing with GOTO and var = var + 1.

The last time that I checked, there was only one comment...my comment. Stating that he was misrepresenting MMBasic.
 
Posted: 07:06am
04 May 2024
Copy link to clipboard
JohnS
Guru

Andy Tanenbaum said something like it's best to take benchmarks with a pinch - no, a sack - of salt.

They can help you choose, though, such as whether a proposed system is likely to be fast enough (*) or if not then which one(s) ought to be.

And they're interesting!  Especially when you get a huge spread of speeds (as in the posted ones).

(*) a lot of CPUs nowadays are plenty fast enough, of course, even with a higher level language soaking up CPU time (JVMs etc) - which is good because code can have array index checks, pointer checks (or ban pointers) and so on

John
 
Posted: 08:11am
04 May 2024
Copy link to clipboard
Mixtel90
Guru


You can never compare different systems unless they are running identical code.

Comparing languages, unless done on the same hardware platform, is pointless and is mere show-off. Try comparing BASIC with LISP for string handling, or either with a macro assembler. :)

You can compare the hardware, any underlying firmware or the programming language - but only one at once.

If you attempt to benchmark using real world tests then the systems might be optimised for particular tasks so you get an unfair bias.

Benchmarks are fun though. :)

.
Edited 2024-05-04 18:14 by Mixtel90
 
Posted: 08:31am
04 May 2024
Copy link to clipboard
phil99
Guru


  Quote  systems might be optimised for particular tasks so you get an unfair bias
Exactly! For me finding that bias is a key feature of benchmarking.
You want the one that solves your problem best, by whatever means.
The other systems don't get upset by loosing the race. Self-aware AI chips with emotions aren't here yet.
 
Posted: 11:45am
04 May 2024
Copy link to clipboard
Mixtel90
Guru


Going back to your aircraft example though, the aircraft without the afterburner may be optimised for agility whereas the other may be faster in a straight line but steer like a cow, even with the afterburner switched off. The requirements have to be precisely defined before a device is chosen or designed.

You can't reliably use computer benchmarks in most cases. They are interesting, and usually give a very general idea of differences in performance but that's all. When you get down to small differences in measured performance it's easy to fall into the trap of picking a "faster" one when you may be sacrificing a lot of things that the benchmark set doesn't measure.
 
   Page 6 of 8    
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025