Nucleo G474RE vs Arduino Uno
Cortex-M4F (STM32G474) at 170 MHz against ATmega328P at 16 MHz, on real hardware, same C kernels, clocks verified.
Nucleo G474RE
Cortex-M4F (STM32G474)
- Family
- Arm Cortex-M
- Board
- Nucleo G474RE
- Clock
- 170 MHz
- float / double
- 32-bit / 64-bit
Typical gap
55.3×
Nucleo G474RE faster, geometric mean of 30 cells
Biggest win for Nucleo G474RE
352×
uint32_t divide
Closest cell
6.70×
double modulo
Clock for clock
5.20×
Nucleo G474RE needs fewer cycles per op (10.6× clock gap)
Operation by operation
Every cell
How many times faster Nucleo G474RE is than Arduino Uno, operations per second. Blue: Nucleo G474RE ahead. Orange: Arduino Uno ahead.
| Add | Subtract | Multiply | Divide | Modulo | |
|---|---|---|---|---|---|
| uint8_t | 24.0× 11.7 M/s · 490 k/s | 24.0× 11.7 M/s · 490 k/s | 26.2× 11.7 M/s · 448 k/s | 62.9× 8.96 M/s · 142 k/s | 56.9× 8.1 M/s · 142 k/s |
| uint16_t | 22.5× 11.7 M/s · 522 k/s | 22.5× 11.7 M/s · 522 k/s | 28.4× 11.7 M/s · 413 k/s | 118× 8.2 M/s · 69.5 k/s | 109× 7.56 M/s · 69.5 k/s |
| uint32_t | 36.8× 12.6 M/s · 342 k/s | 36.9× 12.6 M/s · 342 k/s | 93.4× 12.6 M/s · 135 k/s | 352× 8.73 M/s · 24.8 k/s | 335× 8.3 M/s · 24.8 k/s |
| uint64_t | 101× 7.56 M/s · 74.6 k/s | 101× 7.56 M/s · 74.6 k/s | 186× 6.67 M/s · 35.9 k/s | 75.8× 1.16 M/s · 15.3 k/s | 76.2× 1.16 M/s · 15.2 k/s |
| float | 119× 11.7 M/s · 98.3 k/s | 119× 11.7 M/s · 98.7 k/s | 135× 11.7 M/s · 87 k/s | 199× 6.42 M/s · 32.2 k/s | 13.0× 1.34 M/s · 103 k/s |
| double | 16.1× 1.58 M/s · 98.1 k/s | 16.0× 1.58 M/s · 98.6 k/s | 25.6× 2.22 M/s · 86.8 k/s | 51.9× 1.67 M/s · 32.2 k/s | 6.70× 688 k/s · 103 k/s |