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