Thing Done

← The fleet

Teensy 4.0 vs Arduino Uno

Cortex-M7 (i.MX RT1062) at 600 MHz against ATmega328P at 16 MHz, on real hardware, same C kernels, clocks verified.

Teensy 4.0

Teensy 4.0

Cortex-M7 (i.MX RT1062)
Family
Arm Cortex-M
Board
Teensy 4.0
Clock
600 MHz
float / double
32-bit / 64-bit
Arduino Uno

Arduino Uno

ATmega328P
Family
AVR
Board
Arduino Uno
Clock
16 MHz
float / double
32-bit / 32-bit
Typical gap
388×
Teensy 4.0 faster, geometric mean of 30 cells
Biggest win for Teensy 4.0
1,586×
uint32_t divide
Closest cell
47.1×
double modulo
Clock for clock
10.4×
Teensy 4.0 needs fewer cycles per op (37.5× clock gap)

Operation by operation

Every cell

How many times faster Teensy 4.0 is than Arduino Uno, operations per second. Blue: Teensy 4.0 ahead. Orange: Arduino Uno ahead.

AddSubtractMultiplyDivideModulo
uint8_t 158× 77.4 M/s · 490 k/s 154× 75.3 M/s · 490 k/s 168× 75.3 M/s · 448 k/s 368× 52.3 M/s · 142 k/s 325× 46.3 M/s · 142 k/s
uint16_t 144× 75.3 M/s · 522 k/s 144× 75 M/s · 522 k/s 166× 68.6 M/s · 413 k/s 597× 41.5 M/s · 69.5 k/s 540× 37.5 M/s · 69.5 k/s
uint32_t 242× 82.8 M/s · 342 k/s 251× 85.7 M/s · 342 k/s 508× 68.6 M/s · 135 k/s 1,586× 39.3 M/s · 24.8 k/s 1,405× 34.8 M/s · 24.8 k/s
uint64_t 847× 63.2 M/s · 74.6 k/s 847× 63.2 M/s · 74.6 k/s 1,218× 43.7 M/s · 35.9 k/s 363× 5.54 M/s · 15.3 k/s 365× 5.54 M/s · 15.2 k/s
float 791× 77.7 M/s · 98.3 k/s 787× 77.7 M/s · 98.7 k/s 894× 77.7 M/s · 87 k/s 838× 27 M/s · 32.2 k/s 64.9× 6.67 M/s · 103 k/s
double 571× 56 M/s · 98.1 k/s 555× 54.7 M/s · 98.6 k/s 504× 43.7 M/s · 86.8 k/s 487× 15.7 M/s · 32.2 k/s 47.1× 4.84 M/s · 103 k/s

Where they sit in the fleet

Keep comparing

Swap sides