Thing Done

← The fleet

PIC24FJ64GU205 vs XIAO MG24

PIC24F (PIC24FJ64GU205) at 32 MHz against Cortex-M33 (EFR32MG24) at 39 MHz, on real hardware, same C kernels, clocks verified.

PIC24FJ64GU205 Curiosity Nano

PIC24FJ64GU205

PIC24F (PIC24FJ64GU205)
Family
PIC / dsPIC
Board
PIC24FJ64GU205 Curiosity Nano
Clock
32 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
6.66×
XIAO MG24 faster, geometric mean of 30 cells
Biggest win for PIC24FJ64GU205
0.57×
double modulo
Biggest win for XIAO MG24
130×
uint64_t modulo
Clock for clock
5.47×
XIAO MG24 needs fewer cycles per op (1.22× clock gap)

Operation by operation

Every cell

How many times faster PIC24FJ64GU205 is than XIAO MG24, operations per second. Blue: PIC24FJ64GU205 ahead. Orange: XIAO MG24 ahead.

AddSubtractMultiplyDivideModulo
uint8_t 1/1.90× 1.43 M/s · 2.71 M/s 1/1.90× 1.43 M/s · 2.71 M/s 1/1.93× 1.31 M/s · 2.52 M/s 1/4.92× 497 k/s · 2.44 M/s 1/3.86× 497 k/s · 1.92 M/s
uint16_t 1/2.57× 1.15 M/s · 2.94 M/s 1/2.56× 1.15 M/s · 2.93 M/s 1/2.56× 1.15 M/s · 2.93 M/s 1/4.30× 485 k/s · 2.09 M/s 1/3.65× 485 k/s · 1.77 M/s
uint32_t 1/3.59× 890 k/s · 3.19 M/s 1/3.59× 890 k/s · 3.19 M/s 1/4.58× 641 k/s · 2.93 M/s 1/64.3× 34.3 k/s · 2.21 M/s 1/58.1× 33.8 k/s · 1.96 M/s
uint64_t 1/4.13× 572 k/s · 2.36 M/s 1/3.54× 668 k/s · 2.36 M/s 1/14.8× 133 k/s · 1.97 M/s 1/130× 2.19 k/s · 285 k/s 1/130× 2.18 k/s · 285 k/s
float 1/23.9× 133 k/s · 3.18 M/s 1/26.1× 122 k/s · 3.18 M/s 1/19.0× 168 k/s · 3.18 M/s 1/19.7× 78.2 k/s · 1.54 M/s 1/3.30× 96.3 k/s · 318 k/s
double 1/2.85× 130 k/s · 370 k/s 1/3.10× 119 k/s · 368 k/s 1/3.10× 162 k/s · 503 k/s 1/4.91× 77.1 k/s · 379 k/s 1/1.74× 94.5 k/s · 165 k/s

Where they sit in the fleet

Keep comparing

Swap sides