Poor performances ?

There is something that does not convince me, yet I have carried out the test several times.
Same unmodified software for all boards using Arduino IDE with defaults.

RA4M1 looks knackered (and It's a Cortex M4). :thinking:

What does the table look like if you normalise by clock frequency?

You might take a look at at couple of the thread by @Merlin513

Such as: Coremark Comparision - UNO R4 / UNO R4 WiFi - Arduino Forum

And

Changing Compiler Optimizations Had No Affect - UNO R4 / UNO R4 WiFi - Arduino Forum

That is you can get better performance by updating the compiler options.

The default optimization proposed for the other boards by Arduino IDE is always -Os, anyway I will check if there are "wired" directives in platform.txt in order to normalize them.

The idea is to use the same condition for all boards, then for everyday use it's lecit to make some tweak. :wink:

Anyway, as far I can see from that posts (thanks for the link :wink:) the result is not what I had imagine for a Cortex M4.

So, seems that I can delete the question mark from the title...

IMHO, considering different PLLs in different cores (moreover one of them is a RISC-V), it has not much sense...
I will check if there are different (hidden) optimizations directives and I will normalize them for all boards.

Esp32 =240mhz, divide it's score by 5 and you get pretty much the uno r4 result. I don't think any results are surprising

Sorry, why would you do that?

I can see maybe normalize by price. But maybe that is just me.

As for what optimizations to include in table... I would start with whatever each of these boards are configured to build at by default.

You might also test those boards who allow you to easily change the options from something like to tool menu, to see see if there are improvements to be had.

What is wrong with RISC-V? For example ESP32-C3?
WCH has different RISC-V boards and they are working on an Arduino setup.
Probably several others.

Because the scores would only be unexpected if their normalised results were below other different m4 mcus. I agree that price is an interesting comparison from a consumer perspective but not a mathematical one

1 Like

Esp32 =240mhz, divide it's score by 5 and you get pretty much the uno r4 result. I don't think any results are surprising

ok, and what does this prove ?
probably that if we underclock an ESP32 it runs just like a RA4M1.
Probably if Elon Musk had my assets he would drive the same car as me, but in reality this is not the case :smiley:

The benchmark measures the overall performance of the board, as we buy it, not that of the processor. It should never be normalized, if we need more information we add an additional kpi.

Just as an example, if we thought it interesting, we could calculate the number of CoreMark units per Euro, and in this case we would have:
Arduino Nano ESP32 = 25.05 [PassMark/€]
Arduino UNO R4 WIFI = 3.27 [PassMark/€]
I don't think this would improve the UNO R4's situation much.

What is wrong with RISC-V? For example ESP32-C3?

There's nothing wrong with RISC-V, just that normalizing the frequency of two cores (this was my answer to the2ndtierney) doesn't make sense if the two cores have different architectures. Since we are not measuring performance vs frequency of a core, but the overall performance of the board.

CoreMark is a fixed point benchmark, right? I would not expect a 48MHz CM4 to do that much better than a 48MHz CM0 (which matches your results.)