Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 11:24 24 Nov 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 6 of 8    
Author Message
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2119
Posted: 04:21pm 05 Sep 2022
Copy link to clipboard 
Print this post

  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.
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3800
Posted: 05:28pm 05 Sep 2022
Copy link to clipboard 
Print this post

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

John
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4036
Posted: 05:49pm 05 Sep 2022
Copy link to clipboard 
Print this post

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
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Tinine
Guru

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

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
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2119
Posted: 06:52pm 05 Sep 2022
Copy link to clipboard 
Print this post

  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.
 
ice2642

Regular Member

Joined: 27/05/2023
Location: Brazil
Posts: 82
Posted: 10:06pm 07 Jul 2023
Copy link to clipboard 
Print this post

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
MMBasic 5.0707 on PicoMite VGA
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4222
Posted: 06:39am 03 May 2024
Copy link to clipboard 
Print this post

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
PicomiteVGA PETSCII ROBOTS
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3150
Posted: 01:56pm 03 May 2024
Copy link to clipboard 
Print this post

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).
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2119
Posted: 07:51pm 03 May 2024
Copy link to clipboard 
Print this post

the lgt328 is 32mhz, 2x uno 328. I got but dunno the test code ... for gcbasic
 
vegipete

Guru

Joined: 29/01/2013
Location: Canada
Posts: 1109
Posted: 08:23pm 03 May 2024
Copy link to clipboard 
Print this post

Could someone post the actual test suite used for benchmarking?
Visit Vegipete's *Mite Library for cool programs.
 
PhenixRising
Guru

Joined: 07/11/2023
Location: United Kingdom
Posts: 857
Posted: 08:26pm 03 May 2024
Copy link to clipboard 
Print this post

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

 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4222
Posted: 09:06pm 03 May 2024
Copy link to clipboard 
Print this post

Hi Phenix,

Do you know a ZX81 that can use INC ?

Regards,

Volhout
PicomiteVGA PETSCII ROBOTS
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2119
Posted: 10:25pm 03 May 2024
Copy link to clipboard 
Print this post

in gcbasic var=var+1 could be var ++. it would be same speed but less typing.
 
toml_12953
Guru

Joined: 13/02/2015
Location: United States
Posts: 339
Posted: 10:39pm 03 May 2024
Copy link to clipboard 
Print this post

  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)
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2135
Posted: 11:08pm 03 May 2024
Copy link to clipboard 
Print this post

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
 
PhenixRising
Guru

Joined: 07/11/2023
Location: United Kingdom
Posts: 857
Posted: 12:26am 04 May 2024
Copy link to clipboard 
Print this post

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.
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3800
Posted: 07:06am 04 May 2024
Copy link to clipboard 
Print this post

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
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6778
Posted: 08:11am 04 May 2024
Copy link to clipboard 
Print this post

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
Mick

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

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2135
Posted: 08:31am 04 May 2024
Copy link to clipboard 
Print this post

  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.
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6778
Posted: 11:45am 04 May 2024
Copy link to clipboard 
Print this post

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.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
     Page 6 of 8    
Print this page
© JAQ Software 2024