Thing Done

← The fleet

Arduino Uno

ATmega328P · AVR · 16 MHz

Arduino Uno
Board
Arduino Uno
Core
ATmega328P
Clock
16 MHz
float / double
32-bit / 32-bit
uint8_t add
490 k/s
rank 15 of 16 · 2.04 µs
uint32_t add
342 k/s
rank 14 of 16 · 2.92 µs
uint32_t divide
24.8 k/s
rank 13 of 16 · 40.3 µs
float multiply
87 k/s
rank 13 of 16 · 11.5 µs
Cycles per uint32 add
46.7 cycles
rank 14 of 16 — the clock-independent number

What every operation costs

Every numeric type, all five operations, as clock cycles per operation: the shape of this part's cost independent of its clock. The bars are the story of where it falls off a cliff — divide, 64-bit, floating point.

The same cells as nanoseconds per operation, median of three samples. Darker is slower; the small number is this board's rank in the fleet for that cell (1 = fastest of 16).

AddSubtractMultiplyDivideModulo
uint8_t 2.04 µs #15 of 16 2.04 µs #15 of 16 2.23 µs #14 of 16 7.03 µs #13 of 16 7.03 µs #13 of 16
uint16_t 1.92 µs #14 of 16 1.92 µs #14 of 16 2.42 µs #13 of 16 14.4 µs #13 of 16 14.4 µs #14 of 16
uint32_t 2.92 µs #14 of 16 2.92 µs #14 of 16 7.4 µs #14 of 16 40.3 µs #13 of 16 40.3 µs #14 of 16
uint64_t 13.4 µs #14 of 14 13.4 µs #14 of 14 27.9 µs #14 of 14 65.4 µs #12 of 14 65.8 µs #12 of 14
float 10.2 µs #13 of 16 10.1 µs #13 of 16 11.5 µs #13 of 16 31 µs #13 of 16 9.73 µs #12 of 16
double 10.2 µs #13 of 16 10.1 µs #13 of 16 11.5 µs #13 of 16 31 µs #13 of 16 9.73 µs #12 of 16

In the fleet

Head to head