XIAO MG24 vs PIC16F17146
Cortex-M33 (EFR32MG24) at 39 MHz against PIC16F (PIC16F17146) at 32 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
PIC16F17146
PIC16F (PIC16F17146)
- Family
- PIC / dsPIC
- Board
- PIC16F17146 Curiosity Nano
- Clock
- 32 MHz
- float / double
- 32-bit / 32-bit
Typical gap
57.4×
XIAO MG24 faster, geometric mean of 25 cells
Biggest win for XIAO MG24
534×
float multiply
Closest cell
9.10×
uint8_t add
Clock for clock
47.1×
XIAO MG24 needs fewer cycles per op (1.22× clock gap)
Operation by operation
Every cell
How many times faster XIAO MG24 is than PIC16F17146, operations per second. Blue: XIAO MG24 ahead. Orange: PIC16F17146 ahead.
| Add | Subtract | Multiply | Divide | Modulo | |
|---|---|---|---|---|---|
| uint8_t | 9.10× 2.71 M/s · 298 k/s | 9.78× 2.71 M/s · 277 k/s | 38.9× 2.52 M/s · 64.8 k/s | 39.4× 2.44 M/s · 62 k/s | 95.3× 1.92 M/s · 20.1 k/s |
| uint16_t | 12.1× 2.94 M/s · 244 k/s | 12.0× 2.93 M/s · 244 k/s | 115× 2.93 M/s · 25.4 k/s | 88.5× 2.09 M/s · 23.6 k/s | 64.8× 1.77 M/s · 27.3 k/s |
| uint32_t | 30.3× 3.19 M/s · 105 k/s | 35.9× 3.19 M/s · 89 k/s | 296× 2.93 M/s · 9.9 k/s | 239× 2.21 M/s · 9.23 k/s | 182× 1.96 M/s · 10.8 k/s |
| uint64_t | not measured | not measured | not measured | not measured | not measured |
| float | 128× 3.18 M/s · 24.9 k/s | 171× 3.18 M/s · 18.6 k/s | 534× 3.18 M/s · 5.95 k/s | 280× 1.54 M/s · 5.51 k/s | 43.4× 318 k/s · 7.33 k/s |
| double | 14.8× 370 k/s · 24.9 k/s | 19.8× 368 k/s · 18.6 k/s | 84.5× 503 k/s · 5.95 k/s | 68.7× 379 k/s · 5.51 k/s | 22.5× 165 k/s · 7.33 k/s |