Thing Done

← The fleet

Arduino Uno vs PIC24FJ64GU205

ATmega328P at 16 MHz against PIC24F (PIC24FJ64GU205) at 32 MHz, on real hardware, same C kernels, clocks verified.

Arduino Uno

Arduino Uno

ATmega328P
Family
AVR
Board
Arduino Uno
Clock
16 MHz
float / double
32-bit / 32-bit
PIC24FJ64GU205 Curiosity Nano

PIC24FJ64GU205

PIC24F (PIC24FJ64GU205)
Family
PIC / dsPIC
Board
PIC24FJ64GU205 Curiosity Nano
Clock
32 MHz
float / double
32-bit / 32-bit
Typical gap
2.07×
PIC24FJ64GU205 faster, geometric mean of 30 cells
Biggest win for Arduino Uno
6.99×
uint64_t divide
Biggest win for PIC24FJ64GU205
8.95×
uint64_t subtract
Clock for clock
1.03×
PIC24FJ64GU205 needs fewer cycles per op (2.00× clock gap)

Operation by operation

Every cell

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

AddSubtractMultiplyDivideModulo
uint8_t 1/2.91× 490 k/s · 1.43 M/s 1/2.91× 490 k/s · 1.43 M/s 1/2.92× 448 k/s · 1.31 M/s 1/3.49× 142 k/s · 497 k/s 1/3.49× 142 k/s · 497 k/s
uint16_t 1/2.19× 522 k/s · 1.15 M/s 1/2.19× 522 k/s · 1.15 M/s 1/2.77× 413 k/s · 1.15 M/s 1/6.98× 69.5 k/s · 485 k/s 1/6.98× 69.5 k/s · 485 k/s
uint32_t 1/2.60× 342 k/s · 890 k/s 1/2.60× 342 k/s · 890 k/s 1/4.74× 135 k/s · 641 k/s 1/1.38× 24.8 k/s · 34.3 k/s 1/1.36× 24.8 k/s · 33.8 k/s
uint64_t 1/7.67× 74.6 k/s · 572 k/s 1/8.95× 74.6 k/s · 668 k/s 1/3.71× 35.9 k/s · 133 k/s 6.99× 15.3 k/s · 2.19 k/s 6.96× 15.2 k/s · 2.18 k/s
float 1/1.35× 98.3 k/s · 133 k/s 1/1.23× 98.7 k/s · 122 k/s 1/1.93× 87 k/s · 168 k/s 1/2.43× 32.2 k/s · 78.2 k/s 1.07× 103 k/s · 96.3 k/s
double 1/1.32× 98.1 k/s · 130 k/s 1/1.21× 98.6 k/s · 119 k/s 1/1.87× 86.8 k/s · 162 k/s 1/2.39× 32.2 k/s · 77.1 k/s 1.09× 103 k/s · 94.5 k/s

Where they sit in the fleet

Keep comparing

Swap sides