Thing Done

← The fleet

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 Curiosity Nano

PIC18F57Q84

PIC18F (PIC18F57Q84)
Family
PIC / dsPIC
Board
PIC18F57Q84 Curiosity Nano
Clock
64 MHz
float / double
32-bit / 32-bit
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
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.

AddSubtractMultiplyDivideModulo
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 measurednot measurednot measurednot measurednot 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

Where they sit in the fleet

Keep comparing

Swap sides