Home  |  Contents 

Microcontroller and PC projects
  Forum Index : Microcontroller and PC projects         Section
Subject Topic: BASIC Speed Benchmark Tests Post ReplyPost New Topic
<< Prev Page of 5 Next >>
Author
Message << Prev Topic | Next Topic >>
JohnS
Guru
Guru


Joined: 18 November 2011
Location: United Kingdom
Online Status: Offline
Posts: 1689
Posted: 25 February 2015 at 5:32pm | IP Logged Quote JohnS

The C compiler may have optimised some or almost all of the code away.

Maybe worth posting the C? Someone may try RPi, A20, etc...

John


Back to Top View JohnS's Profile Search for other posts by JohnS
 
darthmite
Senior Member
Senior Member
Avatar

Joined: 20 November 2011
Location: France
Online Status: Offline
Posts: 238
Posted: 25 February 2015 at 10:49pm | IP Logged Quote darthmite

WhiteWizzard wrote:
Wow impressive stuff- are you 100% sure of these figures Fabrice?

Also can you let me know how much current the basic circuit pulls when achieving these times!

Thanks
WW


for the 100% sure ... look at the picture



Now how much current it draw ... no clue ... here i have a TFT , Wii joystick , sd card , ps2 keyboard + mouse connected ...

for the sin , cos function i use the FPU , it ... help ...

Cheers.



Edited by darthmite on 25 February 2015 at 10:50pm


__________________
Theory is when we know everything but nothing work ...
Practice is when everything work but no one know why ;)
Back to Top View darthmite's Profile Search for other posts by darthmite
 
darthmite
Senior Member
Senior Member
Avatar

Joined: 20 November 2011
Location: France
Online Status: Offline
Posts: 238
Posted: 03 March 2015 at 4:50pm | IP Logged Quote darthmite

Hi , i just compiled for st429 with the matherp last code (little change).
Here just the frequency adjusted and put it on a st429 disco board.


                           BM1    BM2     BM3    BM4    BM5    BM6    BM7    BM8
ABC 800 single precision   0.9    1.8     6.0    5.9    6.3   11.6   19.6    2.9
ABC 800 double precision   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 in "fast mode"        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 with line Nos     0.016  0.131  0.193  0.194  0.245  0.393  0.582  0.241
Maximite without line Nos  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

st429 180Mhz               0.012  0.073  0.117  0.125  0.207  0.315  0.497  0.162


Now , why is it not faster ? ... he he ...
The FPU is not active , no sdram , dma2d ... nothing , just like the st407 for this
test

Cheers.


Edited by darthmite on 03 March 2015 at 8:55pm


__________________
Theory is when we know everything but nothing work ...
Practice is when everything work but no one know why ;)
Back to Top View darthmite's Profile Search for other posts by darthmite
 
matherp
Guru
Guru


Joined: 11 December 2012
Location: United Kingdom
Online Status: Offline
Posts: 2355
Posted: 14 March 2015 at 6:50pm | IP Logged Quote matherp

Just done a bit of performance tweaking on the 168MHz STM32F407

New times added below


                           BM1    BM2     BM3    BM4    BM5    BM6    BM7    BM8 
ABC 800 single precision   0.9    1.8     6.0    5.9    6.3   11.6   19.6    2.9 
ABC 800 double precision   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 in "fast mode"        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 with line Nos     0.016  0.131  0.193  0.194  0.245  0.393  0.582  0.241 
Maximite without line Nos  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 

st429 180Mhz               0.012  0.073  0.117  0.125  0.207  0.315  0.497  0.162 

st407 168Mhz               0.010  0.067  0.104  0.111  0.195  0.290  0.443  0.146


Edited by matherp on 14 March 2015 at 6:53pm
Back to Top View matherp's Profile Search for other posts by matherp
 
BobD
Guru
Guru
Avatar

Joined: 07 December 2011
Location: Australia
Online Status: Offline
Posts: 928
Posted: 14 March 2015 at 7:26pm | IP Logged Quote BobD

I notice that one of the benchmarks above is with line numbers. If the Micromite MMBasic still has line numbers then, surely, it is about time to drop them. We have been far less pragmatic about maintaining other features and compatibility. Line numbers are inefficient, lead to very poor coding practices, and "hard to follow" code. Space seems to be always at a premium in the flash. If they still exist then this may be a way get gain a bit of space.

Thoughts anyone?
Back to Top View BobD's Profile Search for other posts by BobD
 
Grogster
Guru
Guru
Avatar

Joined: 31 December 2012
Location: New Zealand
Online Status: Offline
Posts: 6132
Posted: 15 March 2015 at 12:07am | IP Logged Quote Grogster

As a previous user of line-numbers in a big way, let me say that I agree with Bob on this one. I have not really used line-numbers for quite a while now, and no line-numbers is actually easier to program in then with line-numbers, IMHO.

Once you get the hang of structured programming and labels, line-numbers become un-necessary.

Again - MHO only.

But this vote to drop line-numbers is coming from someone who wrote all his code with line-numbers for years, but now I don't, and I can see the advantages now, whereas before, I would not consider a language that did NOT have line-numbers.

...oh, how I was led astray...

__________________
Smoke makes things work. When the smoke gets out, it stops!
Back to Top View Grogster's Profile Search for other posts by Grogster Visit Grogster's Homepage
 
TassyJim
Guru
Guru
Avatar

Joined: 07 August 2011
Location: Australia
Online Status: Online
Posts: 2681
Posted: 15 March 2015 at 9:48pm | IP Logged Quote TassyJim

There are a lot of old (but good) programs with line numbers available for translation to MMBasic.
Having line numbers might help the cause.

In MMEdit I intend to keep the routines for removing line numbers to help the updating.

The routine for adding line numbers has not kept up with the changes to MM Basic and going in that direction is less likely to be successful.

Having the benchmarks that prove that no line numbers is faster will help persuade a few.

Jim

__________________
It all started with the ZX81....
VK7JH
http://www.c-com.com.au/MMedit.htm
Back to Top View TassyJim's Profile Search for other posts by TassyJim Visit TassyJim's Homepage
 
geraldfryjr
Regular Member
Regular Member
Avatar

Joined: 02 March 2014
Location: United States
Online Status: Offline
Posts: 61
Posted: 15 March 2015 at 10:28pm | IP Logged Quote geraldfryjr

It is great to see the ARMmite added to the list of Benchmark tests!!! :D

jer :)

__________________
Keep on DIYin' !!!
Back to Top View geraldfryjr's Profile Search for other posts by geraldfryjr
 
Geoffg
Guru
Guru
Avatar

Joined: 06 June 2011
Location: Australia
Online Status: Offline
Posts: 2403
Posted: 17 March 2015 at 6:42am | IP Logged Quote Geoffg

Out of interest I tried the PIC32MX470 running at 120MHz:


                           BM1    BM2     BM3    BM4    BM5    BM6    BM7    BM8 
ABC 800 single precision   0.9    1.8     6.0    5.9    6.3   11.6   19.6    2.9 
ABC 800 double precision   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 in "fast mode"        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 with line Nos     0.016  0.131  0.193  0.194  0.245  0.393  0.582  0.241 
Maximite without line Nos  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 

st429 180Mhz               0.012  0.073  0.117  0.125  0.207  0.315  0.497  0.162 
st407 168Mhz               0.010  0.067  0.104  0.111  0.195  0.290  0.443  0.146 

MX470 120MHz MMBasic       0.013  0.082  0.135  0.135  0.265  0.380  0.597  0.174


The MX470 MMBasic is an internal version of mine that is different from matherp's port (it runs at 120MHz for a start). It is interesting to note that the performance of the high speed processors like the MX470 and STM32F407 does not scale directly with the clock speed. This is because the CPU is more limited by the speed at which it can read the flash memory rather than its clock speed.

Benchmarks BM3 and above depend heavily on floating point calculations and you would have expected the STM32F407 with a floating point processor to be MUCH faster than the MX470 but the difference is not that great. It must be because the overhead of the interpreter is the dominating factor rather than the speed of calculating numbers.

Just why the BM5 benchmark running on a 80MHz "Maximite without line Nos" processor is faster than an ARM chip running at 180MHz is a mystery. As they say... "lies, damn lies and benchmarks".

Geoff

__________________
Geoff Graham - http://geoffg.net
Back to Top View Geoffg's Profile Search for other posts by Geoffg Visit Geoffg's Homepage
 
aargee
Senior Member
Senior Member


Joined: 21 August 2008
Online Status: Offline
Posts: 247
Posted: 17 March 2015 at 11:55pm | IP Logged Quote aargee

Very interesting, Geoff.
I'm spending way too much time playing with different variants of the 'mite that I'm not getting any projects done.

(... actually, nothing new there...)





__________________
For crying out loud, all I wanted to do was flash this blasted LED.
Back to Top View aargee's Profile Search for other posts by aargee
 
darthmite
Senior Member
Senior Member
Avatar

Joined: 20 November 2011
Location: France
Online Status: Offline
Posts: 238
Posted: 14 August 2015 at 4:06pm | IP Logged Quote darthmite

Hi ,

As primary test of MMBasic on the STM32F7 discovery board i have want see if it was fast enough.


                           BM1    BM2     BM3    BM4    BM5    BM6    BM7    BM8 
ABC 800 single precision   0.9    1.8     6.0    5.9    6.3   11.6   19.6    2.9 
ABC 800 double precision   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 in "fast mode"        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 with line Nos     0.016  0.131  0.193  0.194  0.245  0.393  0.582  0.241 
Maximite without line Nos  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 

st429 180Mhz               0.012  0.073  0.117  0.125  0.207  0.315  0.497  0.162 
st407 168Mhz               0.010  0.067  0.104  0.111  0.195  0.290  0.443  0.146 

MX470 120MHz MMBasic       0.013  0.082  0.135  0.135  0.265  0.380  0.597  0.174

st7 200Mhz                 0.005  0.041  0.06   0.065  0.11   0.161  0.254  0.103 





Not bad at all
It look like if we have a original PIC32 at 200Mhz , the result will be very close to
the st7 chip ...

You will get more info about the alpha release to the Uwe Becker (UB) page.
stm32f7 MMBasic port

I just send him the timer integration ,so you will get this release soon.
The project is compiled with System Workbench for stm32.

here the picture from the benchmark.




Cheers.


__________________
Theory is when we know everything but nothing work ...
Practice is when everything work but no one know why ;)
Back to Top View darthmite's Profile Search for other posts by darthmite
 
chronic
Guru
Guru


Joined: 21 January 2012
Location: Australia
Online Status: Offline
Posts: 613
Posted: 15 August 2015 at 4:04am | IP Logged Quote chronic

There is a newish pic32MZ "EF" variant , with a FPU ... don't know much bout it yet
but the datasheet is :

datasheet pic3MZxxEF
Back to Top View chronic's Profile Search for other posts by chronic
 


<< Prev Page of 5 Next >>
In the news...
 
Post ReplyPost New Topic
Printable version Printable version
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot delete your posts in this forum
You cannot edit your posts in this forum
You cannot create polls in this forum
You cannot vote in polls in this forum

Powered by Web Wiz Forums version 7.8
Copyright ©2001-2004 Web Wiz Guide

This page was generated in 0.1250 seconds.
Privacy Policy     Process times : 0.02, 0, 0, 0.11