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
Revision:
1:466dbb9d16a8
Parent:
0:525baf7de2db
--- a/arduino.txt	Mon Apr 28 00:38:52 2014 +0000
+++ b/arduino.txt	Mon Apr 28 00:44:57 2014 +0000
@@ -1,4 +1,7 @@
 //This is the same whetstone code with adjustments for the Serial.print function on the Arduino
+//To run the code on the Arduino copy and paste the content of "arduino.txt" into the Arduino IDE. 
+//The main loop within the procedure whetstone() is identical. Only the output format is Arduino-specific.
+
 #include <Serial.h>
 
 void setup() {