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

Whetstone on the Nucleo at 84 MHz:

  • Loops: 1000, Iterations: 1, Duration: 30 sec.
  • C Converted Double Precision Whetstones: 3.3 MIPS
  • Code size: 22.1 kB

Whetstone on the Arduino Leonardo at 16 MHz:

  • Loops: 1000Iterations: 1Duration: 82320 millisec.
  • C Converted Double Precision Whetstones: 1.21 MIPS
  • Code size: 9,086 bytes
Committer:
kirchnet
Date:
Mon Apr 28 00:44:57 2014 +0000
Revision:
1:466dbb9d16a8
Parent:
0:525baf7de2db
Whetstone performance benchmark to compare my new Nucleo STM32 F401RE board to the Arduino. While my Arduino Leonardo knockoff at 16 Mhz runs through the 1,000 loops in 82 seconds for 1.21 MIPS the Nucleo takes only 30 secs and yields 3.2 MIPS

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kirchnet 0:525baf7de2db 1 #include "benchmark.h"
kirchnet 0:525baf7de2db 2 #include "stm32f4xx_hal.h"
kirchnet 0:525baf7de2db 3 #include "ST_F401_84MHZ.h"
kirchnet 0:525baf7de2db 4
kirchnet 0:525baf7de2db 5 //The program will run first at the clock speed at which you have set your board
kirchnet 0:525baf7de2db 6 //and then switch to 84 MHz. Presumably your board is set to 84 MHz already.
kirchnet 0:525baf7de2db 7
kirchnet 0:525baf7de2db 8 main(){
kirchnet 0:525baf7de2db 9 whetstone(0);
kirchnet 0:525baf7de2db 10 SystemClock_Config_84MHz_internal(); // Now speed up to 84 MHz
kirchnet 0:525baf7de2db 11 whetstone(84);
kirchnet 0:525baf7de2db 12 //linpack();
kirchnet 0:525baf7de2db 13 //dhrystone();
kirchnet 0:525baf7de2db 14 }
kirchnet 0:525baf7de2db 15
kirchnet 0:525baf7de2db 16