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
Cortex-M33 (EFR32MG24)
- Family
- Arm Cortex-M
- Board
- XIAO MG24 Sense
- Clock
- 39 MHz
- float / double
- 32-bit / 64-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.
| Add | Subtract | Multiply | Divide | Modulo | |
|---|---|---|---|---|---|
| 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 |