Closed christiaanb closed 1 year ago
Implements #2525
Most benchmarks were within 1-3% of each other. The outliers, in favour of newtype, were:
strict field:
benchmarking Signed/+ 3*WORD_SIZE_IN_BITS time 120.3 ns (119.8 ns .. 120.8 ns) 1.000 R² (1.000 R² .. 1.000 R²) mean 120.8 ns (120.4 ns .. 121.3 ns) std dev 1.520 ns (1.333 ns .. 1.729 ns) variance introduced by outliers: 13% (moderately inflated)
newtype:
benchmarking Signed/+ 3*WORD_SIZE_IN_BITS time 106.3 ns (106.3 ns .. 106.4 ns) 1.000 R² (1.000 R² .. 1.000 R²) mean 106.3 ns (106.3 ns .. 106.4 ns) std dev 133.3 ps (107.9 ps .. 171.5 ps)
benchmarking Signed/- 3*WORD_SIZE_IN_BITS time 95.15 ns (95.11 ns .. 95.20 ns) 1.000 R² (1.000 R² .. 1.000 R²) mean 95.14 ns (95.10 ns .. 95.19 ns) std dev 148.2 ps (123.6 ps .. 183.9 ps)
benchmarking Signed/- 3*WORD_SIZE_IN_BITS time 89.93 ns (89.04 ns .. 91.70 ns) 0.999 R² (0.997 R² .. 1.000 R²) mean 89.35 ns (89.05 ns .. 90.99 ns) std dev 1.787 ns (60.20 ps .. 4.337 ns) variance introduced by outliers: 28% (moderately inflated)
benchmarking Signed/.&. WORD_SIZE_IN_BITS time 87.26 ns (87.24 ns .. 87.29 ns) 1.000 R² (1.000 R² .. 1.000 R²) mean 87.24 ns (87.21 ns .. 87.27 ns) std dev 89.59 ps (71.91 ps .. 108.3 ps)
benchmarking Signed/.&. WORD_SIZE_IN_BITS time 76.58 ns (76.55 ns .. 76.61 ns) 1.000 R² (1.000 R² .. 1.000 R²) mean 76.60 ns (76.57 ns .. 76.62 ns) std dev 92.21 ps (67.79 ps .. 137.1 ps)
benchmarking Signed/.|. WORD_SIZE_IN_BITS time 89.61 ns (89.56 ns .. 89.65 ns) 1.000 R² (1.000 R² .. 1.000 R²) mean 89.59 ns (89.55 ns .. 89.63 ns) std dev 147.2 ps (109.2 ps .. 208.7 ps)
benchmarking Signed/.|. WORD_SIZE_IN_BITS time 73.43 ns (72.92 ns .. 74.35 ns) 1.000 R² (0.999 R² .. 1.000 R²) mean 73.07 ns (72.89 ns .. 74.16 ns) std dev 976.2 ps (352.4 ps .. 2.453 ns) variance introduced by outliers: 15% (moderately inflated)
benchmarking Unsigned/.|. 3*WORD_SIZE_IN_BITS time 62.10 ns (62.08 ns .. 62.12 ns) 1.000 R² (1.000 R² .. 1.000 R²) mean 62.10 ns (62.09 ns .. 62.11 ns) std dev 37.36 ps (30.95 ps .. 46.13 ps)
benchmarking Unsigned/.|. 3*WORD_SIZE_IN_BITS time 48.72 ns (48.71 ns .. 48.72 ns) 1.000 R² (1.000 R² .. 1.000 R²) mean 48.72 ns (48.71 ns .. 48.72 ns) std dev 11.83 ps (9.698 ps .. 14.92 ps)
Implements #2525
Most benchmarks were within 1-3% of each other. The outliers, in favour of newtype, were:
strict field:
newtype:
strict field:
newtype:
strict field:
newtype:
strict field:
newtype:
strict field:
newtype:
Still TODO: