PIC18F57Q84 vs XIAO MG24
PIC18F (PIC18F57Q84) at 64 MHz against Cortex-M33 (EFR32MG24) at 39 MHz, on real hardware, same C kernels, clocks verified.
PIC18F57Q84
PIC18F (PIC18F57Q84)
- Family
- PIC / dsPIC
- Board
- PIC18F57Q84 Curiosity Nano
- Clock
- 64 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
22.8×
XIAO MG24 faster, geometric mean of 25 cells
Biggest win for PIC18F57Q84
0.21×
uint8_t multiply
Biggest win for XIAO MG24
151×
float divide
Clock for clock
37.5×
XIAO MG24 needs fewer cycles per op (1.64× clock gap)
Operation by operation
Every cell
How many times faster PIC18F57Q84 is than XIAO MG24, operations per second. Blue: PIC18F57Q84 ahead. Orange: XIAO MG24 ahead.
| Add | Subtract | Multiply | Divide | Modulo | |
|---|---|---|---|---|---|
| uint8_t | 1/5.04× 538 k/s · 2.71 M/s | 1/5.38× 504 k/s · 2.71 M/s | 1/4.85× 520 k/s · 2.52 M/s | 1/18.1× 135 k/s · 2.44 M/s | 1/18.0× 106 k/s · 1.92 M/s |
| uint16_t | 1/8.97× 328 k/s · 2.94 M/s | 1/8.93× 328 k/s · 2.93 M/s | 1/10.2× 287 k/s · 2.93 M/s | 1/33.6× 62.1 k/s · 2.09 M/s | 1/25.1× 70.6 k/s · 1.77 M/s |
| uint32_t | 1/13.3× 240 k/s · 3.19 M/s | 1/13.3× 240 k/s · 3.19 M/s | 1/125× 23.5 k/s · 2.93 M/s | 1/90.1× 24.5 k/s · 2.21 M/s | 1/68.6× 28.6 k/s · 1.96 M/s |
| uint64_t | not measured | not measured | not measured | not measured | not measured |
| float | 1/84.9× 37.4 k/s · 3.18 M/s | 1/100× 31.7 k/s · 3.18 M/s | 1/141× 22.6 k/s · 3.18 M/s | 1/151× 10.2 k/s · 1.54 M/s | 1/16.1× 19.8 k/s · 318 k/s |
| double | 1/9.88× 37.4 k/s · 370 k/s | 1/11.6× 31.7 k/s · 368 k/s | 1/22.3× 22.6 k/s · 503 k/s | 1/37.1× 10.2 k/s · 379 k/s | 1/8.33× 19.8 k/s · 165 k/s |