Thing Done

← The fleet

Pi Pico 2W (RISC-V) vs PIC18F57Q84

Hazard3 RV32IMAC (RP2350) at 150 MHz against PIC18F (PIC18F57Q84) at 64 MHz, on real hardware, same C kernels, clocks verified.

Pi Pico 2W (RISC-V)

Pi Pico 2W (RISC-V)

Hazard3 RV32IMAC (RP2350)
Family
RISC-V
Board
Pi Pico 2W (RISC-V)
Clock
150 MHz
float / double
32-bit / 64-bit
PIC18F57Q84 Curiosity Nano

PIC18F57Q84

PIC18F (PIC18F57Q84)
Family
PIC / dsPIC
Board
PIC18F57Q84 Curiosity Nano
Clock
64 MHz
float / double
32-bit / 32-bit
Typical gap
55.7×
Pi Pico 2W (RISC-V) faster, geometric mean of 25 cells
Biggest win for Pi Pico 2W (RISC-V)
482×
uint32_t multiply
Closest cell
22.7×
uint8_t add
Clock for clock
23.8×
Pi Pico 2W (RISC-V) needs fewer cycles per op (2.34× clock gap)

Operation by operation

Every cell

How many times faster Pi Pico 2W (RISC-V) is than PIC18F57Q84, operations per second. Blue: Pi Pico 2W (RISC-V) ahead. Orange: PIC18F57Q84 ahead.

AddSubtractMultiplyDivideModulo
uint8_t 22.7× 12.2 M/s · 538 k/s 26.4× 13.3 M/s · 504 k/s 25.6× 13.3 M/s · 520 k/s 39.1× 5.3 M/s · 135 k/s 49.9× 5.3 M/s · 106 k/s
uint16_t 34.4× 11.3 M/s · 328 k/s 34.4× 11.3 M/s · 328 k/s 36.6× 10.5 M/s · 287 k/s 79.6× 4.94 M/s · 62.1 k/s 67.8× 4.79 M/s · 70.6 k/s
uint32_t 51.0× 12.2 M/s · 240 k/s 47.2× 11.3 M/s · 240 k/s 482× 11.3 M/s · 23.5 k/s 202× 4.94 M/s · 24.5 k/s 173× 4.94 M/s · 28.6 k/s
uint64_t not measurednot measurednot measurednot measurednot measured
float 65.0× 2.43 M/s · 37.4 k/s 76.7× 2.43 M/s · 31.7 k/s 132× 2.98 M/s · 22.6 k/s 74.3× 758 k/s · 10.2 k/s 57.8× 1.14 M/s · 19.8 k/s
double 32.4× 1.21 M/s · 37.4 k/s 39.2× 1.24 M/s · 31.7 k/s 30.1× 678 k/s · 22.6 k/s 38.6× 394 k/s · 10.2 k/s 36.9× 731 k/s · 19.8 k/s

Where they sit in the fleet

Keep comparing

Swap sides