Skip to content

History — Arithmetic

How the arithmetic operations have moved release over release. See the History overview for the time units, the width reference map, and how these timings are measured.

add

Width 0.3.3 0.4.4 0.5.0
D18 219 ns (0.86×) 212 ns (0.83×) 254 ns
D38 344 ns (0.68×) 343 ns (0.68×) 507 ns
D57 · 1.88 µs (2.4×) 777 ns
D76 892 ns (0.86×) 2.68 µs (2.6×) 1.04 µs
D115 · 5.18 µs (2×) 2.61 µs
D153 1.93 µs (0.45×) 7.94 µs (1.9×) 4.27 µs
D230 3.21 µs (0.42×) 11.1 µs (1.5×) 7.67 µs
D307 4 µs (0.33×) 14.4 µs (1.2×) 12.3 µs
D462 · 20.8 µs (1×) 20.9 µs
D616 · 28.5 µs (0.92×) 30.9 µs
D924 · 41.6 µs (0.68×) 61 µs
D1232 · 54 µs (0.63×) 85.7 µs
100 ns1 µs10 µs100 µs1 ms10 ms100 ms1838577611515323030746261692412320.3.30.4.40.5.0
Median time vs width (log scale), one line per release with a shaded min–max band; the multiplier is the slowdown relative to the latest.

div

Width 0.3.3 0.4.4 0.5.0
D18 216 ns (0.98×) 187 ns (0.85×) 221 ns
D38 804 ns (0.8×) 835 ns (0.83×) 1.01 µs
D57 · 2.16 µs (2.7×) 807 ns
D76 · 3.21 µs (3.1×) 1.03 µs
D115 · 5.29 µs (2.4×) 2.24 µs
D153 · 7.82 µs (2.2×) 3.48 µs
D230 5.36 µs (0.83×) 11.4 µs (1.8×) 6.49 µs
D307 6.54 µs (0.61×) 16 µs (1.5×) 10.7 µs
D462 · 25 µs (1.4×) 17.7 µs
D616 · 31.1 µs (1×) 29.6 µs
D924 · 50 µs (0.89×) 56.1 µs
D1232 · 68.1 µs (0.81×) 84 µs
100 ns1 µs10 µs100 µs1 ms10 ms100 ms1838577611515323030746261692412320.3.30.4.40.5.0
Median time vs width (log scale), one line per release with a shaded min–max band; the multiplier is the slowdown relative to the latest.

mul

Width 0.3.3 0.4.4 0.5.0
D18 237 ns (0.93×) 239 ns (0.93×) 256 ns
D38 378 ns (0.69×) 370 ns (0.68×) 547 ns
D57 · 1.78 µs (2.4×) 740 ns
D76 · 2.58 µs (2.7×) 946 ns
D115 · 4.36 µs (2.1×) 2.03 µs
D153 · 6.56 µs (1.9×) 3.47 µs
D230 4.21 µs (0.68×) 8.59 µs (1.4×) 6.17 µs
D307 5.07 µs (0.52×) 11.7 µs (1.2×) 9.79 µs
D462 · 18.2 µs (1.1×) 17.1 µs
D616 · 23.8 µs (0.9×) 26.5 µs
D924 · 33.6 µs (0.68×) 49.1 µs
D1232 · 43.9 µs (0.6×) 73.4 µs
100 ns1 µs10 µs100 µs1 ms10 ms100 ms1838577611515323030746261692412320.3.30.4.40.5.0
Median time vs width (log scale), one line per release with a shaded min–max band; the multiplier is the slowdown relative to the latest.

rem

Width 0.3.3 0.4.4 0.5.0
D18 214 ns (0.93×) 190 ns (0.83×) 230 ns
D38 362 ns (0.71×) 351 ns (0.69×) 509 ns
D57 · 1.78 µs (2.6×) 692 ns
D76 · 2.61 µs (2.8×) 922 ns
D115 · 4.51 µs (2.2×) 2.09 µs
D153 · 6.56 µs (1.9×) 3.49 µs
D230 3.67 µs (0.59×) 9.06 µs (1.5×) 6.2 µs
D307 4.77 µs (0.48×) 11.3 µs (1.1×) 10 µs
D462 · 17 µs (0.87×) 19.7 µs
D616 · 20.6 µs (0.66×) 31.1 µs
D924 · 31 µs (0.55×) 56 µs
D1232 · 46.5 µs (0.5×) 93.8 µs
100 ns1 µs10 µs100 µs1 ms10 ms100 ms1838577611515323030746261692412320.3.30.4.40.5.0
Median time vs width (log scale), one line per release with a shaded min–max band; the multiplier is the slowdown relative to the latest.

sub

Width 0.3.3 0.4.4 0.5.0
D18 205 ns (0.88×) 203 ns (0.87×) 233 ns
D38 345 ns (0.67×) 338 ns (0.66×) 512 ns
D57 · 1.84 µs (2.5×) 742 ns
D76 1.06 µs (1×) 2.64 µs (2.6×) 1.02 µs
D115 · 5.25 µs (2.6×) 2 µs
D153 2.62 µs (0.61×) 7.88 µs (1.8×) 4.31 µs
D230 3.44 µs (0.45×) 11.3 µs (1.5×) 7.67 µs
D307 4.46 µs (0.36×) 14.4 µs (1.2×) 12.4 µs
D462 · 21.4 µs (1.1×) 20.2 µs
D616 · 29 µs (0.96×) 30.2 µs
D924 · 41.6 µs (0.69×) 60.2 µs
D1232 · 51.3 µs (0.6×) 86 µs
100 ns1 µs10 µs100 µs1 ms10 ms100 ms1838577611515323030746261692412320.3.30.4.40.5.0
Median time vs width (log scale), one line per release with a shaded min–max band; the multiplier is the slowdown relative to the latest.