Thing Done

← The fleet

XIAO MG24 vs Arduino Uno

Cortex-M33 (EFR32MG24) at 39 MHz against ATmega328P at 16 MHz, on real hardware, same C kernels, clocks verified.

XIAO MG24 Sense

XIAO MG24

Cortex-M33 (EFR32MG24)
Family
Arm Cortex-M
Board
XIAO MG24 Sense
Clock
39 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
13.8×
XIAO MG24 faster, geometric mean of 30 cells
Biggest win for XIAO MG24
89.0×
uint32_t divide
Closest cell
1.60×
double modulo
Clock for clock
5.65×
XIAO MG24 needs fewer cycles per op (2.44× clock gap)

Operation by operation

Every cell

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

AddSubtractMultiplyDivideModulo
uint8_t 5.54× 2.71 M/s · 490 k/s 5.54× 2.71 M/s · 490 k/s 5.62× 2.52 M/s · 448 k/s 17.2× 2.44 M/s · 142 k/s 13.5× 1.92 M/s · 142 k/s
uint16_t 5.64× 2.94 M/s · 522 k/s 5.61× 2.93 M/s · 522 k/s 7.09× 2.93 M/s · 413 k/s 30.0× 2.09 M/s · 69.5 k/s 25.5× 1.77 M/s · 69.5 k/s
uint32_t 9.33× 3.19 M/s · 342 k/s 9.34× 3.19 M/s · 342 k/s 21.7× 2.93 M/s · 135 k/s 89.0× 2.21 M/s · 24.8 k/s 79.2× 1.96 M/s · 24.8 k/s
uint64_t 31.6× 2.36 M/s · 74.6 k/s 31.6× 2.36 M/s · 74.6 k/s 54.8× 1.97 M/s · 35.9 k/s 18.6× 285 k/s · 15.3 k/s 18.7× 285 k/s · 15.2 k/s
float 32.3× 3.18 M/s · 98.3 k/s 32.2× 3.18 M/s · 98.7 k/s 36.6× 3.18 M/s · 87 k/s 47.9× 1.54 M/s · 32.2 k/s 3.09× 318 k/s · 103 k/s
double 3.77× 370 k/s · 98.1 k/s 3.74× 368 k/s · 98.6 k/s 5.80× 503 k/s · 86.8 k/s 11.8× 379 k/s · 32.2 k/s 1.60× 165 k/s · 103 k/s

Where they sit in the fleet

Keep comparing

Swap sides