dsPIC33AK512 vs Arduino Uno
dsPIC33A (dsPIC33AK512MPS506) at 200 MHz against ATmega328P at 16 MHz, on real hardware, same C kernels, clocks verified.
dsPIC33AK512
dsPIC33A (dsPIC33AK512MPS506)
- Family
- PIC / dsPIC
- Board
- dsPIC33AK512MPS506 Curiosity Nano
- Clock
- 200 MHz
- float / double
- 32-bit / 32-bit
Typical gap
61.0×
dsPIC33AK512 faster, geometric mean of 30 cells
Biggest win for dsPIC33AK512
303×
uint32_t divide
Closest cell
6.49×
uint64_t divide
Clock for clock
4.88×
dsPIC33AK512 needs fewer cycles per op (12.5× clock gap)
Operation by operation
Every cell
How many times faster dsPIC33AK512 is than Arduino Uno, operations per second. Blue: dsPIC33AK512 ahead. Orange: Arduino Uno ahead.
| Add | Subtract | Multiply | Divide | Modulo | |
|---|---|---|---|---|---|
| uint8_t | 35.2× 17.3 M/s · 490 k/s | 35.2× 17.3 M/s · 490 k/s | 38.5× 17.3 M/s · 448 k/s | 65.1× 9.26 M/s · 142 k/s | 54.9× 7.81 M/s · 142 k/s |
| uint16_t | 24.6× 12.8 M/s · 522 k/s | 24.6× 12.8 M/s · 522 k/s | 38.4× 15.9 M/s · 413 k/s | 133× 9.26 M/s · 69.5 k/s | 112× 7.81 M/s · 69.5 k/s |
| uint32_t | 29.8× 10.2 M/s · 342 k/s | 29.8× 10.2 M/s · 342 k/s | 89.2× 12.1 M/s · 135 k/s | 303× 7.52 M/s · 24.8 k/s | 273× 6.76 M/s · 24.8 k/s |
| uint64_t | 130× 9.71 M/s · 74.6 k/s | 130× 9.71 M/s · 74.6 k/s | 171× 6.14 M/s · 35.9 k/s | 6.49× 99.2 k/s · 15.3 k/s | 6.57× 99.8 k/s · 15.2 k/s |
| float | 86.2× 8.48 M/s · 98.3 k/s | 85.8× 8.48 M/s · 98.7 k/s | 97.4× 8.48 M/s · 87 k/s | 197× 6.33 M/s · 32.2 k/s | 19.3× 1.98 M/s · 103 k/s |
| double | 86.4× 8.48 M/s · 98.1 k/s | 86.0× 8.48 M/s · 98.6 k/s | 97.6× 8.48 M/s · 86.8 k/s | 197× 6.33 M/s · 32.2 k/s | 19.3× 1.98 M/s · 103 k/s |