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 196 ns (0.8×) 196 ns (0.8×) 245 ns
D38 321 ns (0.64×) 321 ns (0.64×) 501 ns
D57 · 2.22 µs (2.9×) 762 ns
D76 972 ns (0.95×) 2.62 µs (2.6×) 1.02 µs
D115 · 5.04 µs (2×) 2.58 µs
D153 1.88 µs (0.42×) 8 µs (1.8×) 4.48 µs
D230 3.28 µs (0.43×) 11.2 µs (1.5×) 7.56 µs
D307 3.72 µs (0.36×) 13.7 µs (1.3×) 10.3 µs
D462 · 21.5 µs (1.1×) 19 µs
D616 · 29 µs (0.93×) 31.1 µs
D924 · 27.7 µs (0.85×) 32.6 µs
D1232 · 56.4 µs (0.6×) 94.3 µ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 190 ns (0.86×) 191 ns (0.87×) 220 ns
D38 1 µs (0.81×) 1.02 µs (0.83×) 1.23 µs
D57 · 2.67 µs (3.4×) 777 ns
D76 · 3.1 µs (3×) 1.02 µs
D115 · 5.21 µs (2.2×) 2.4 µs
D153 · 8.07 µs (2.1×) 3.79 µs
D230 5.42 µs (0.83×) 11.4 µs (1.7×) 6.55 µs
D307 6.42 µs (0.72×) 14.1 µs (1.6×) 8.96 µs
D462 · 23 µs (1.3×) 18 µs
D616 · 34.4 µs (1.2×) 29.7 µs
D924 · 34.3 µs (1×) 33.3 µs
D1232 · 74.3 µs (0.78×) 95.1 µ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 261 ns (0.97×) 220 ns (0.81×) 270 ns
D38 341 ns (0.63×) 351 ns (0.65×) 541 ns
D57 · 2.17 µs (3.1×) 711 ns
D76 · 2.5 µs (2.7×) 922 ns
D115 · 4.3 µs (2×) 2.18 µs
D153 · 6.72 µs (1.9×) 3.57 µs
D230 4.14 µs (0.69×) 8.68 µs (1.4×) 6.03 µs
D307 4.84 µs (0.56×) 10.8 µs (1.2×) 8.64 µs
D462 · 18.3 µs (1.1×) 16.7 µs
D616 · 24 µs (0.95×) 25.4 µs
D924 · 23.4 µs (0.83×) 28.2 µs
D1232 · 46.5 µs (0.62×) 74.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.

rem

Width 0.3.3 0.4.4 0.5.0
D18 205 ns (0.87×) 190 ns (0.81×) 235 ns
D38 320 ns (0.63×) 320 ns (0.63×) 506 ns
D57 · 2.23 µs (3.4×) 652 ns
D76 · 2.55 µs (2.8×) 911 ns
D115 · 4.43 µs (2×) 2.2 µs
D153 · 6.59 µs (1.8×) 3.62 µs
D230 3.91 µs (0.63×) 8.58 µs (1.4×) 6.22 µs
D307 4.65 µs (0.54×) 11 µs (1.3×) 8.55 µs
D462 · 16.1 µs (0.88×) 18.2 µs
D616 · 21 µs (0.72×) 29.1 µs
D924 · 20.2 µs (0.59×) 34 µs
D1232 · 48 µs (0.53×) 90.9 µ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 190 ns (0.77×) 190 ns (0.77×) 246 ns
D38 320 ns (0.65×) 311 ns (0.63×) 491 ns
D57 · 2.2 µs (3×) 736 ns
D76 1.13 µs (1.1×) 2.65 µs (2.6×) 1.02 µs
D115 · 5.09 µs (2×) 2.6 µs
D153 2.46 µs (0.55×) 8.03 µs (1.8×) 4.49 µs
D230 3.38 µs (0.44×) 11.2 µs (1.5×) 7.63 µs
D307 4.08 µs (0.4×) 14.1 µs (1.4×) 10.1 µs
D462 · 21.4 µs (1.1×) 19.4 µs
D616 · 28.9 µs (0.9×) 32.1 µs
D924 · 27.7 µs (0.85×) 32.5 µs
D1232 · 56.2 µs (0.59×) 95.5 µ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.