PIC16F17146 vs ESP32
PIC16F (PIC16F17146) at 32 MHz against Xtensa LX6 (ESP32) at 240 MHz, on real hardware, same C kernels, clocks verified.
PIC16F17146
PIC16F (PIC16F17146)
- Family
- PIC / dsPIC
- Board
- PIC16F17146 Curiosity Nano
- Clock
- 32 MHz
- float / double
- 32-bit / 32-bit
Typical gap
241×
ESP32 faster, geometric mean of 25 cells
Biggest win for PIC16F17146
0.03×
uint8_t add
Biggest win for ESP32
2,014×
float multiply
Clock for clock
32.2×
ESP32 needs fewer cycles per op (7.50× clock gap)
Operation by operation
Every cell
How many times faster PIC16F17146 is than ESP32, operations per second. Blue: PIC16F17146 ahead. Orange: ESP32 ahead.
| Add | Subtract | Multiply | Divide | Modulo | |
|---|---|---|---|---|---|
| uint8_t | 1/38.4× 298 k/s · 11.4 M/s | 1/41.2× 277 k/s · 11.4 M/s | 1/176× 64.8 k/s · 11.4 M/s | 1/168× 62 k/s · 10.4 M/s | 1/497× 20.1 k/s · 10 M/s |
| uint16_t | 1/47.0× 244 k/s · 11.4 M/s | 1/47.0× 244 k/s · 11.4 M/s | 1/451× 25.4 k/s · 11.4 M/s | 1/395× 23.6 k/s · 9.32 M/s | 1/328× 27.3 k/s · 8.97 M/s |
| uint32_t | 1/114× 105 k/s · 12 M/s | 1/135× 89 k/s · 12 M/s | 1/1,213× 9.9 k/s · 12 M/s | 1/1,084× 9.23 k/s · 10 M/s | 1/888× 10.8 k/s · 9.6 M/s |
| uint64_t | not measured | not measured | not measured | not measured | not measured |
| float | 1/482× 24.9 k/s · 12 M/s | 1/644× 18.6 k/s · 12 M/s | 1/2,014× 5.95 k/s · 12 M/s | 1/690× 5.51 k/s · 3.8 M/s | 1/236× 7.33 k/s · 1.73 M/s |
| double | 1/119× 24.9 k/s · 2.96 M/s | 1/144× 18.6 k/s · 2.68 M/s | 1/313× 5.95 k/s · 1.86 M/s | 1/83.3× 5.51 k/s · 459 k/s | 1/151× 7.33 k/s · 1.11 M/s |