Whetstone performance benchmark to compare the speed of my new Nucleo STM32 F401RE board to the Arduino. To summarize, while my Arduino Leonardo knockoff running at 16 Mhz runs through the 1,000 loops in 82 seconds for 1.21MIPS the Nucleo takes only 30-31 seconds and yields 3.2-3.3 MIPS. I would have expected better relative performance from a 32 bit ARM M4 processor over an 8 bit AVR. Maybe it will get better once the FPU is enabled in the online compiler.

Dependencies:   ST_401_84MHZ mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers benchmark.cpp Source File

benchmark.cpp

00001 #include "benchmark.h"
00002 #include "stm32f4xx_hal.h" 
00003 #include "ST_F401_84MHZ.h"  
00004 
00005 //The program will run first at the clock speed at which you have set your board 
00006 //and then switch to 84 MHz. Presumably your board is set to 84 MHz already.
00007  
00008 main(){
00009     whetstone(0);
00010     SystemClock_Config_84MHz_internal();                                     // Now speed up to 84 MHz
00011     whetstone(84);
00012     //linpack();
00013     //dhrystone();
00014     }
00015     
00016