While trying to determine the most suitable MCU for a project that needs fast analogue read I decided to knock up a quick bench-test sketch and run it on some of the various MCU's I have kicking around.
Hope the info is helpful and maybe others can add new MCU's or tests.
Arduino UNO I/O Speed Tests Over 50000 Iterations.
Digital Pin Write Takes About 4.50 Microseconds.
Digital Pin Read Takes About 4.78 Microseconds.
Analogue Pin Read Takes About 112.00 Microseconds.Arduino Mega I/O Speed Tests Over 50000 Iterations.
Digital Pin Write Takes About 6.50 Microseconds.
Digital Pin Read Takes About 6.35 Microseconds.
Analogue Pin Read Takes About 112.01 Microseconds.Arduino Due I/O Speed Tests Over 50000 Iterations.
Digital Pin Write Takes About 2.00 Microseconds.
Digital Pin Read Takes About 1.11 Microseconds.
Analogue Pin Read Takes About 3.30 Microseconds.Teensy 3.1 @ 24MHz I/O Speed Tests Over 50000 Iterations.
Digital Pin Write Takes About 1.00 Microseconds.
Digital Pin Read Takes About 0.75 Microseconds.
Analogue Pin Read Takes About 12.88 Microseconds.Teensy 3.1 @ 48MHz I/O Speed Tests Over 50000 Iterations.
Digital Pin Write Takes About 0.50 Microseconds.
Digital Pin Read Takes About 0.38 Microseconds.
Analogue Pin Read Takes About 10.14 Microseconds.Teensy 3.1 @ 72MHz I/O Speed Tests Over 50000 Iterations.
Digital Pin Write Takes About 0.00 Microseconds.
Digital Pin Read Takes About 0.25 Microseconds.
Analogue Pin Read Takes About 7.59 Microseconds.Teensy 3.1 @ 96MHz I/O Speed Tests Over 50000 Iterations.
Digital Pin Write Takes About 0.00 Microseconds.
Digital Pin Read Takes About 0.19 Microseconds.
Analogue Pin Read Takes About 10.37 Microseconds.Fubarino Mini (dev) I/O Speed Tests Over 50000 Iterations.
Digital Pin Write Takes About 1.50 Microseconds.
Digital Pin Read Takes About 0.85 Microseconds.
Analogue Pin Read Takes About 8.77 Microseconds.Nucleo STM32F401 I/O Speed Tests Over 1000000 Iterations.
Digital Pin Write Takes About 0.1668 Microseconds.
Digital Pin Read Takes About 0.1788 Microseconds.
Analogue Pin Read Takes About 3.4917 Microseconds.Arduino Zero I/O Speed Tests Over 50000 Iterations. Compiled Using Arduino IDE v1.8.7
Digital Pin Write Takes About 1.6234 Microseconds.
Digital Pin Read Takes About 1.0264 Microseconds.
Analogue Pin Read Takes About 423.2541 Microseconds.ESP8266 Wemos D1 Mini I/O Speed Tests Over 50000 Iterations. Compiled Using Arduino IDE v1.8.9 and 2.50 Core
Digital Pin Write Takes About 0.9627 Microseconds.
Digital Pin Read Takes About 0.5881 Microseconds.
Analogue Pin Read Takes About 153.9349 Microseconds.ESP32 DoIt ESP32 Devkit V1 (80MHz) I/O Speed Tests Over 50000 Iterations. Compiled Using Arduino IDE v1.8.9 and 1.0.2 Core
Digital Pin Write Takes About 0.1199 Microseconds.
Digital Pin Read Takes About 0.1642 Microseconds.
Analogue Pin Read Takes About 10.3027 Microseconds.
Benchmark_IO.ino (2.07 KB)