Thing Done

← The fleet

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

PIC16F17146

PIC16F (PIC16F17146)
Family
PIC / dsPIC
Board
PIC16F17146 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
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.

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

Where they sit in the fleet

Keep comparing

Swap sides