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 0.5.1
D18 225 ns (0.88×) 211 ns (0.83×) 250 ns (0.98×) 255 ns
D38 320 ns (0.61×) 320 ns (0.61×) 661 ns (1.3×) 521 ns
D57 · 2.18 µs (2.7×) 987 ns (1.2×) 802 ns
D76 992 ns (0.97×) 2.58 µs (2.5×) 1.14 µs (1.1×) 1.02 µs
D115 · 5.07 µs (1.9×) 2.88 µs (1.1×) 2.63 µs
D153 1.72 µs (0.4×) 8.07 µs (1.9×) 4.4 µs (1×) 4.26 µs
D230 3.24 µs (0.41×) 11.6 µs (1.5×) 8.13 µs (1×) 7.92 µs
D307 3.96 µs (0.36×) 14.2 µs (1.3×) 11.5 µs (1×) 11 µs
D462 · 19.3 µs (0.99×) 19.7 µs (1×) 19.4 µs
D616 · 28.8 µs (0.9×) 32.7 µs (1×) 32 µs
D924 · 31.1 µs (0.78×) 38.2 µs (0.96×) 39.9 µs
D1232 · 62.7 µs (0.73×) 85.8 µs (1×) 85.5 µs
100 ns1 µs10 µs100 µs1 ms10 ms100 ms1838577611515323030746261692412320.3.30.4.40.5.00.5.1
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 0.5.1
D18 200 ns (0.9×) 200 ns (0.9×) 230 ns (1×) 221 ns
D38 1.03 µs (0.82×) 1.03 µs (0.82×) 1.4 µs (1.1×) 1.26 µs
D57 · 2.7 µs (3.2×) 972 ns (1.2×) 842 ns
D76 · 3.09 µs (3×) 1.16 µs (1.1×) 1.02 µs
D115 · 5.11 µs (2×) 2.6 µs (1×) 2.49 µs
D153 · 7.96 µs (2.2×) 3.72 µs (1×) 3.69 µs
D230 5.4 µs (0.81×) 11.9 µs (1.8×) 6.7 µs (1×) 6.63 µs
D307 6.53 µs (0.7×) 15.4 µs (1.6×) 10.5 µs (1.1×) 9.39 µs
D462 · 23 µs (1.2×) 17.9 µs (0.94×) 18.9 µs
D616 · 31.7 µs (1×) 30.1 µs (0.97×) 31.2 µs
D924 · 41.5 µs (1×) 39.7 µs (0.97×) 41 µs
D1232 · 68.2 µs (0.82×) 93.5 µs (1.1×) 82.7 µs
100 ns1 µs10 µs100 µs1 ms10 ms100 ms1838577611515323030746261692412320.3.30.4.40.5.00.5.1
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 0.5.1
D18 251 ns (0.89×) 250 ns (0.89×) 280 ns (1×) 281 ns
D38 360 ns (0.69×) 361 ns (0.69×) 711 ns (1.4×) 521 ns
D57 · 2.16 µs (2.9×) 922 ns (1.2×) 742 ns
D76 · 2.46 µs (2.7×) 1.1 µs (1.2×) 922 ns
D115 · 4.32 µs (1.9×) 2.47 µs (1.1×) 2.25 µs
D153 · 6.76 µs (2×) 3.56 µs (1×) 3.42 µs
D230 4.19 µs (0.67×) 8.99 µs (1.4×) 6.5 µs (1×) 6.21 µs
D307 5.05 µs (0.58×) 11.2 µs (1.3×) 9.04 µs (1×) 8.75 µs
D462 · 17.3 µs (1.1×) 16.9 µs (1×) 16.3 µs
D616 · 23.1 µs (0.91×) 25.4 µs (0.99×) 25.6 µs
D924 · 27.3 µs (0.82×) 33.5 µs (1×) 33.2 µs
D1232 · 45.2 µs (0.64×) 70.7 µs (1×) 71.1 µs
100 ns1 µs10 µs100 µs1 ms10 ms100 ms1838577611515323030746261692412320.3.30.4.40.5.00.5.1
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 0.5.1
D18 196 ns (0.85×) 196 ns (0.85×) 230 ns (1×) 230 ns
D38 330 ns (0.67×) 331 ns (0.67×) 661 ns (1.3×) 496 ns
D57 · 2.24 µs (3.2×) 881 ns (1.3×) 701 ns
D76 · 2.52 µs (2.8×) 1.1 µs (1.2×) 916 ns
D115 · 4.42 µs (2×) 2.44 µs (1.1×) 2.2 µs
D153 · 6.62 µs (1.9×) 3.63 µs (1×) 3.48 µs
D230 3.83 µs (0.61×) 9.23 µs (1.5×) 6.52 µs (1×) 6.27 µs
D307 4.62 µs (0.5×) 11.2 µs (1.2×) 9.4 µs (1×) 9.15 µs
D462 · 15.4 µs (0.86×) 19.9 µs (1.1×) 18 µs
D616 · 20.9 µs (0.7×) 28.4 µs (0.94×) 30 µs
D924 · 23.9 µs (0.59×) 37.6 µs (0.93×) 40.2 µs
D1232 · 45.5 µs (0.57×) 84.7 µs (1.1×) 80.5 µs
100 ns1 µs10 µs100 µs1 ms10 ms100 ms1838577611515323030746261692412320.3.30.4.40.5.00.5.1
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 0.5.1
D18 216 ns (0.96×) 215 ns (0.95×) 246 ns (1.1×) 226 ns
D38 320 ns (0.68×) 320 ns (0.68×) 651 ns (1.4×) 471 ns
D57 · 2.19 µs (2.9×) 896 ns (1.2×) 756 ns
D76 1.12 µs (1.2×) 2.56 µs (2.7×) 1.11 µs (1.2×) 961 ns
D115 · 5.05 µs (1.9×) 2.9 µs (1.1×) 2.65 µs
D153 2.27 µs (0.53×) 8.15 µs (1.9×) 4.41 µs (1×) 4.28 µs
D230 3.49 µs (0.44×) 11.4 µs (1.4×) 8.2 µs (1×) 7.92 µs
D307 4.05 µs (0.37×) 14.3 µs (1.3×) 11 µs (1×) 11 µs
D462 · 20.5 µs (1×) 19.8 µs (1×) 19.6 µs
D616 · 27.6 µs (0.89×) 31.1 µs (1×) 31.1 µs
D924 · 32.8 µs (0.85×) 39.4 µs (1×) 38.5 µs
D1232 · 55.6 µs (0.66×) 86 µs (1×) 84.4 µs
100 ns1 µs10 µs100 µs1 ms10 ms100 ms1838577611515323030746261692412320.3.30.4.40.5.00.5.1
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.