Avatar for the recmo user
recmo
uint
BlogDocsChangelog

perf: special-case pow(2, n) with shl

#475
Comparing
DaniPopes:pow-2-by-n
(
44b0af4
) with
main
(
ae691f1
)
CodSpeed Performance Gauge
-25%
Improvements
3
Regressions
10
Untouched
282
New
0
Dropped
0
Ignored
0

Benchmarks

Failed

log/192Regression
benches/bench.rs::benches::benches::group::log/192
CodSpeed Performance Gauge
-14%
11.8 ms
13.7 ms
log/256Regression
benches/bench.rs::benches::benches::group::log/256
CodSpeed Performance Gauge
-12%
14.3 ms
16.2 ms
log/384Regression
benches/bench.rs::benches::benches::group::log/384
CodSpeed Performance Gauge
-10%
21.1 ms
23.5 ms
overflowing_pow/192Regression
benches/bench.rs::benches::benches::group::overflowing_pow/192
CodSpeed Performance Gauge
-19%
1.1 ms
1.4 ms
overflowing_pow/256Regression
benches/bench.rs::benches::benches::group::overflowing_pow/256
CodSpeed Performance Gauge
-14%
2 ms
2.3 ms
overflowing_pow/384Regression
benches/bench.rs::benches::benches::group::overflowing_pow/384
CodSpeed Performance Gauge
-12%
4.5 ms
5.1 ms
overflowing_pow/4096Regression
benches/bench.rs::benches::benches::group::overflowing_pow/4096
CodSpeed Performance Gauge
-25%
1.7 ms
2.3 ms
root/127/256/256Regression
benches/bench.rs::benches::benches::group::root/127/256/256
CodSpeed Performance Gauge
-12%
12.1 ms
13.8 ms
root/127/384/384Regression
benches/bench.rs::benches::benches::group::root/127/384/384
CodSpeed Performance Gauge
-14%
13.9 ms
16 ms
root/127/512/512Regression
benches/bench.rs::benches::benches::group::root/127/512/512
CodSpeed Performance Gauge
-12%
28.3 ms
32 ms

Improved

overflowing_pow/64
benches/bench.rs::benches::benches::group::overflowing_pow/64
CodSpeed Performance Gauge
×2.2
79.5 µs
35.8 µs
root/127/128/128
benches/bench.rs::benches::benches::group::root/127/128/128
CodSpeed Performance Gauge
+77%
9.8 ms
5.5 ms
root/127/192/192
benches/bench.rs::benches::benches::group::root/127/192/192
CodSpeed Performance Gauge
+37%
16.1 ms
11.7 ms

Passed

gt/4096
benches/bench.rs::benches::benches::group::gt/4096
CodSpeed Performance Gauge
+6%
54.8 µs
51.9 µs
ge/4096
benches/bench.rs::benches::benches::group::ge/4096
CodSpeed Performance Gauge
+6%
54.8 µs
51.9 µs
le/4096
benches/bench.rs::benches::benches::group::le/4096
CodSpeed Performance Gauge
+6%
54.8 µs
51.9 µs
lt/4096
benches/bench.rs::benches::benches::group::lt/4096
CodSpeed Performance Gauge
+6%
54.8 µs
51.9 µs
eq/4096
benches/bench.rs::benches::benches::group::eq/4096
CodSpeed Performance Gauge
+6%
55.5 µs
52.6 µs
add_mod/4096
benches/bench.rs::benches::benches::group::add_mod/4096
CodSpeed Performance Gauge
+2%
187.9 µs
184.1 µs
is_zero/4096
benches/bench.rs::benches::benches::group::is_zero/4096
CodSpeed Performance Gauge
+1%
4.1 µs
4.1 µs
algorithms/gcd/matrix/apply/4096
benches/bench.rs::benches::benches::group::algorithms/gcd/matrix/apply/4096
CodSpeed Performance Gauge
0%
279.5 µs
278.2 µs
fmt/decimal/4096
benches/bench.rs::benches::benches::group::fmt/decimal/4096
CodSpeed Performance Gauge
0%
7.8 ms
7.8 ms
fmt/octal/4096
benches/bench.rs::benches::benches::group::fmt/octal/4096
CodSpeed Performance Gauge
0%
7.9 ms
7.9 ms
fmt/hex/4096
benches/bench.rs::benches::benches::group::fmt/hex/4096
CodSpeed Performance Gauge
0%
8.4 ms
8.4 ms
fmt/binary/4096
benches/bench.rs::benches::benches::group::fmt/binary/4096
CodSpeed Performance Gauge
0%
8.8 ms
8.8 ms
eq/384
benches/bench.rs::benches::benches::group::eq/384
CodSpeed Performance Gauge
0%
598 µs
597.9 µs
eq/192
benches/bench.rs::benches::benches::group::eq/192
CodSpeed Performance Gauge
0%
301.3 µs
301.2 µs
algo/addmul_n/2
benches/bench.rs::benches::benches::group::algo/addmul_n/2
CodSpeed Performance Gauge
0%
364 µs
364 µs
algo/addmul_n/5
benches/bench.rs::benches::benches::group::algo/addmul_n/5
CodSpeed Performance Gauge
0%
1.1 ms
1.1 ms
eq/512
benches/bench.rs::benches::benches::group::eq/512
CodSpeed Performance Gauge
0%
766 µs
766 µs
algorithms/gcd/matrix/apply/256
benches/bench.rs::benches::benches::group::algorithms/gcd/matrix/apply/256
CodSpeed Performance Gauge
0%
1.1 ms
1.1 ms
add_mod/128
benches/bench.rs::benches::benches::group::add_mod/128
CodSpeed Performance Gauge
0%
1.2 ms
1.2 ms
algorithms/gcd/matrix/apply/512
benches/bench.rs::benches::benches::group::algorithms/gcd/matrix/apply/512
CodSpeed Performance Gauge
0%
2.1 ms
2.1 ms
fmt/decimal/128
benches/bench.rs::benches::benches::group::fmt/decimal/128
CodSpeed Performance Gauge
0%
2.3 ms
2.3 ms
fmt/octal/64
benches/bench.rs::benches::benches::group::fmt/octal/64
CodSpeed Performance Gauge
0%
1.5 ms
1.5 ms
algorithms/gcd/matrix/apply/384
benches/bench.rs::benches::benches::group::algorithms/gcd/matrix/apply/384
CodSpeed Performance Gauge
0%
1.6 ms
1.6 ms
add_mod/256
benches/bench.rs::benches::benches::group::add_mod/256
CodSpeed Performance Gauge
0%
2.1 ms
2.1 ms
add_mod/192
benches/bench.rs::benches::benches::group::add_mod/192
CodSpeed Performance Gauge
0%
1.8 ms
1.8 ms
div_rem/512/64
benches/bench.rs::benches::benches::group::div_rem/512/64
CodSpeed Performance Gauge
0%
2.7 ms
2.7 ms
add_mod/512
benches/bench.rs::benches::benches::group::add_mod/512
CodSpeed Performance Gauge
0%
3.1 ms
3.1 ms
fmt/binary/64
benches/bench.rs::benches::benches::group::fmt/binary/64
CodSpeed Performance Gauge
0%
2.6 ms
2.6 ms
fmt/decimal/384
benches/bench.rs::benches::benches::group::fmt/decimal/384
CodSpeed Performance Gauge
0%
13.4 ms
13.4 ms
fmt/decimal/512
benches/bench.rs::benches::benches::group::fmt/decimal/512
CodSpeed Performance Gauge
0%
18.6 ms
18.6 ms
inv_mod/256
benches/bench.rs::benches::benches::group::inv_mod/256
CodSpeed Performance Gauge
0%
20.7 ms
20.7 ms
fmt/octal/256
benches/bench.rs::benches::benches::group::fmt/octal/256
CodSpeed Performance Gauge
0%
8.5 ms
8.5 ms
fmt/hex/256
benches/bench.rs::benches::benches::group::fmt/hex/256
CodSpeed Performance Gauge
0%
8.8 ms
8.8 ms
inv_mod/192
benches/bench.rs::benches::benches::group::inv_mod/192
CodSpeed Performance Gauge
0%
14 ms
14 ms
inv_mod/512
benches/bench.rs::benches::benches::group::inv_mod/512
CodSpeed Performance Gauge
0%
76 ms
76 ms
fmt/octal/384
benches/bench.rs::benches::benches::group::fmt/octal/384
CodSpeed Performance Gauge
0%
12 ms
12 ms
fmt/hex/384
benches/bench.rs::benches::benches::group::fmt/hex/384
CodSpeed Performance Gauge
0%
12.4 ms
12.4 ms
fmt/octal/512
benches/bench.rs::benches::benches::group::fmt/octal/512
CodSpeed Performance Gauge
0%
15.6 ms
15.6 ms
add_mod/384
benches/bench.rs::benches::benches::group::add_mod/384
CodSpeed Performance Gauge
0%
2.6 ms
2.6 ms
inv_mod/64
benches/bench.rs::benches::benches::group::inv_mod/64
CodSpeed Performance Gauge
0%
2 ms
2 ms
add/192
benches/bench.rs::benches::benches::group::add/192
CodSpeed Performance Gauge
0%
389.3 µs
389.3 µs
add/384
benches/bench.rs::benches::benches::group::add/384
CodSpeed Performance Gauge
0%
767.5 µs
767.5 µs
add/512
benches/bench.rs::benches::benches::group::add/512
CodSpeed Performance Gauge
0%
1 ms
1 ms
algo/addmul_n/3
benches/bench.rs::benches::benches::group::algo/addmul_n/3
CodSpeed Performance Gauge
0%
568.2 µs
568.2 µs
algo/div/3x2/mg10
benches/bench.rs::benches::benches::group::algo/div/3x2/mg10
CodSpeed Performance Gauge
0%
525.8 µs
525.8 µs
algo/div/3x2/ref
benches/bench.rs::benches::benches::group::algo/div/3x2/ref
CodSpeed Performance Gauge
0%
426.1 µs
426.1 µs
eq/256
benches/bench.rs::benches::benches::group::eq/256
CodSpeed Performance Gauge
0%
368.6 µs
368.6 µs
fmt/binary/128
benches/bench.rs::benches::benches::group::fmt/binary/128
CodSpeed Performance Gauge
0%
7.3 ms
7.3 ms
fmt/binary/384
benches/bench.rs::benches::benches::group::fmt/binary/384
CodSpeed Performance Gauge
0%
20.3 ms
20.3 ms
fmt/decimal/192
benches/bench.rs::benches::benches::group::fmt/decimal/192
CodSpeed Performance Gauge
0%
6.8 ms
6.8 ms
fmt/decimal/256
benches/bench.rs::benches::benches::group::fmt/decimal/256
CodSpeed Performance Gauge
0%
8.9 ms
8.9 ms
fmt/decimal/64
benches/bench.rs::benches::benches::group::fmt/decimal/64
CodSpeed Performance Gauge
0%
1.3 ms
1.3 ms
fmt/hex/512
benches/bench.rs::benches::benches::group::fmt/hex/512
CodSpeed Performance Gauge
0%
16 ms
16 ms
fmt/octal/192
benches/bench.rs::benches::benches::group::fmt/octal/192
CodSpeed Performance Gauge
0%
6.7 ms
6.7 ms
ge/192
benches/bench.rs::benches::benches::group::ge/192
CodSpeed Performance Gauge
0%
262.3 µs
262.3 µs
ge/256
benches/bench.rs::benches::benches::group::ge/256
CodSpeed Performance Gauge
0%
335.2 µs
335.2 µs
ge/384
benches/bench.rs::benches::benches::group::ge/384
CodSpeed Performance Gauge
0%
481 µs
481 µs
ge/512
benches/bench.rs::benches::benches::group::ge/512
CodSpeed Performance Gauge
0%
626.9 µs
626.9 µs
gt/192
benches/bench.rs::benches::benches::group::gt/192
CodSpeed Performance Gauge
0%
262.3 µs
262.3 µs
gt/384
benches/bench.rs::benches::benches::group::gt/384
CodSpeed Performance Gauge
0%
481 µs
481 µs
gt/512
benches/bench.rs::benches::benches::group::gt/512
CodSpeed Performance Gauge
0%
626.9 µs
626.9 µs
is_zero/384
benches/bench.rs::benches::benches::group::is_zero/384
CodSpeed Performance Gauge
0%
312.5 µs
312.5 µs
is_zero/512
benches/bench.rs::benches::benches::group::is_zero/512
CodSpeed Performance Gauge
0%
385.4 µs
385.4 µs
le/192
benches/bench.rs::benches::benches::group::le/192
CodSpeed Performance Gauge
0%
262.2 µs
262.2 µs
le/256
benches/bench.rs::benches::benches::group::le/256
CodSpeed Performance Gauge
0%
335.2 µs
335.2 µs
le/384
benches/bench.rs::benches::benches::group::le/384
CodSpeed Performance Gauge
0%
481 µs
481 µs
div_rem/512/512
benches/bench.rs::benches::benches::group::div_rem/512/512
CodSpeed Performance Gauge
0%
2.4 ms
2.4 ms
inv_mod/384
benches/bench.rs::benches::benches::group::inv_mod/384
CodSpeed Performance Gauge
0%
44.4 ms
44.4 ms
fmt/binary/256
benches/bench.rs::benches::benches::group::fmt/binary/256
CodSpeed Performance Gauge
0%
14 ms
14 ms
fmt/binary/512
benches/bench.rs::benches::benches::group::fmt/binary/512
CodSpeed Performance Gauge
0%
26.6 ms
26.6 ms
algo/div/reciprocal_2/mg10
benches/bench.rs::benches::benches::group::algo/div/reciprocal_2/mg10
CodSpeed Performance Gauge
0%
303.3 µs
303.3 µs
fmt/binary/192
benches/bench.rs::benches::benches::group::fmt/binary/192
CodSpeed Performance Gauge
0%
10.9 ms
10.9 ms
fmt/hex/192
benches/bench.rs::benches::benches::group::fmt/hex/192
CodSpeed Performance Gauge
0%
7 ms
7 ms
fmt/hex/128
benches/bench.rs::benches::benches::group::fmt/hex/128
CodSpeed Performance Gauge
0%
3 ms
3 ms
add/64
benches/bench.rs::benches::benches::group::add/64
CodSpeed Performance Gauge
0%
126.2 µs
126.2 µs
inv_mod/128
benches/bench.rs::benches::benches::group::inv_mod/128
CodSpeed Performance Gauge
0%
6.6 ms
6.6 ms
fmt/octal/128
benches/bench.rs::benches::benches::group::fmt/octal/128
CodSpeed Performance Gauge
0%
3.1 ms
3.1 ms
fmt/hex/64
benches/bench.rs::benches::benches::group::fmt/hex/64
CodSpeed Performance Gauge
0%
1.5 ms
1.5 ms
algo/addmul_n/6
benches/bench.rs::benches::benches::group::algo/addmul_n/6
CodSpeed Performance Gauge
0%
1.5 ms
1.5 ms
algorithms/gcd/matrix/from_u64
benches/bench.rs::benches::benches::group::algorithms/gcd/matrix/from_u64
CodSpeed Performance Gauge
0%
2 ms
2 ms
algo/addmul_n/4
benches/bench.rs::benches::benches::group::algo/addmul_n/4
CodSpeed Performance Gauge
0%
811.6 µs
811.6 µs
algorithms/gcd/matrix/from_u64_prefix
benches/bench.rs::benches::benches::group::algorithms/gcd/matrix/from_u64_prefix
CodSpeed Performance Gauge
0%
1.3 ms
1.3 ms
add/256
benches/bench.rs::benches::benches::group::add/256
CodSpeed Performance Gauge
0%
515.4 µs
515.4 µs
gt/256
benches/bench.rs::benches::benches::group::gt/256
CodSpeed Performance Gauge
0%
335.2 µs
335.2 µs
algo/div/2x1/ref
benches/bench.rs::benches::benches::group::algo/div/2x1/ref
CodSpeed Performance Gauge
0%
321.8 µs
321.8 µs
algo/div/2x1/mg10
benches/bench.rs::benches::benches::group::algo/div/2x1/mg10
CodSpeed Performance Gauge
0%
313 µs
313.1 µs
add/128
benches/bench.rs::benches::benches::group::add/128
CodSpeed Performance Gauge
0%
263.3 µs
263.3 µs
add_mod/64
benches/bench.rs::benches::benches::group::add_mod/64
CodSpeed Performance Gauge
0%
254.4 µs
254.4 µs
algo/div/reciprocal/mg10
benches/bench.rs::benches::benches::group::algo/div/reciprocal/mg10
CodSpeed Performance Gauge
0%
215.1 µs
215.1 µs
div_rem/64/32
benches/bench.rs::benches::benches::group::div_rem/64/32
CodSpeed Performance Gauge
0%
201.5 µs
201.5 µs
div_rem/64/64
benches/bench.rs::benches::benches::group::div_rem/64/64
CodSpeed Performance Gauge
0%
201.5 µs
201.5 µs
ge/128
benches/bench.rs::benches::benches::group::ge/128
CodSpeed Performance Gauge
0%
189.4 µs
189.4 µs
gt/128
benches/bench.rs::benches::benches::group::gt/128
CodSpeed Performance Gauge
0%
189.3 µs
189.4 µs
eq/128
benches/bench.rs::benches::benches::group::eq/128
CodSpeed Performance Gauge
0%
182.4 µs
182.5 µs
algo/addmul_n/1
benches/bench.rs::benches::benches::group::algo/addmul_n/1
CodSpeed Performance Gauge
0%
173.7 µs
173.7 µs
is_zero/192
benches/bench.rs::benches::benches::group::is_zero/192
CodSpeed Performance Gauge
0%
164 µs
164.1 µs
algo/div/reciprocal/ref
benches/bench.rs::benches::benches::group::algo/div/reciprocal/ref
CodSpeed Performance Gauge
0%
162.1 µs
162.1 µs
add/4096
benches/bench.rs::benches::benches::group::add/4096
CodSpeed Performance Gauge
0%
99.7 µs
99.7 µs
algorithms/gcd/matrix/apply/128
benches/bench.rs::benches::benches::group::algorithms/gcd/matrix/apply/128
CodSpeed Performance Gauge
N/A
< 1 ns
< 1 ns
algorithms/gcd/matrix/apply/192
benches/bench.rs::benches::benches::group::algorithms/gcd/matrix/apply/192
CodSpeed Performance Gauge
N/A
< 1 ns
< 1 ns
algorithms/gcd/matrix/apply/64
benches/bench.rs::benches::benches::group::algorithms/gcd/matrix/apply/64
CodSpeed Performance Gauge
N/A
< 1 ns
< 1 ns
cmp/4096
benches/bench.rs::benches::benches::group::cmp/4096
CodSpeed Performance Gauge
+6%
54.8 µs
51.9 µs
wrapping_shl/4096
benches/bench.rs::benches::benches::group::wrapping_shl/4096
CodSpeed Performance Gauge
+3%
72.1 µs
69.9 µs
wrapping_shr/4096
benches/bench.rs::benches::benches::group::wrapping_shr/4096
CodSpeed Performance Gauge
+3%
73.3 µs
71.1 µs
div_rem/4096/4096
benches/bench.rs::benches::benches::group::div_rem/4096/4096
CodSpeed Performance Gauge
+2%
141 µs
137.6 µs
div_rem/4096/64
benches/bench.rs::benches::benches::group::div_rem/4096/64
CodSpeed Performance Gauge
+2%
184.8 µs
181.3 µs
log/128
benches/bench.rs::benches::benches::group::log/128
CodSpeed Performance Gauge
+1%
8.8 ms
8.7 ms
overflowing_shl/4096
benches/bench.rs::benches::benches::group::overflowing_shl/4096
CodSpeed Performance Gauge
+1%
77.3 µs
76.9 µs
div_rem/4096/2048
benches/bench.rs::benches::benches::group::div_rem/4096/2048
CodSpeed Performance Gauge
0%
796.7 µs
793.1 µs
reduce_mod/4096
benches/bench.rs::benches::benches::group::reduce_mod/4096
CodSpeed Performance Gauge
0%
115.9 µs
115.5 µs
overflowing_shr/4096
benches/bench.rs::benches::benches::group::overflowing_shr/4096
CodSpeed Performance Gauge
0%
77.7 µs
77.4 µs
mul_mod/4096
benches/bench.rs::benches::benches::group::mul_mod/4096
CodSpeed Performance Gauge
0%
3.9 ms
3.9 ms
neg/4096
benches/bench.rs::benches::benches::group::neg/4096
CodSpeed Performance Gauge
0%
69.6 µs
69.6 µs
wrapping_shr/64
benches/bench.rs::benches::benches::group::wrapping_shr/64
CodSpeed Performance Gauge
0%
140.1 µs
140 µs
min/384
benches/bench.rs::benches::benches::group::min/384
CodSpeed Performance Gauge
0%
812.2 µs
812.1 µs
min/128
benches/bench.rs::benches::benches::group::min/128
CodSpeed Performance Gauge
0%
296.8 µs
296.7 µs
pow_mod/4096
benches/bench.rs::benches::benches::group::pow_mod/4096
CodSpeed Performance Gauge
0%
219 ms
219 ms
overflowing_shl/384
benches/bench.rs::benches::benches::group::overflowing_shl/384
CodSpeed Performance Gauge
0%
792.2 µs
792.1 µs
max/384
benches/bench.rs::benches::benches::group::max/384
CodSpeed Performance Gauge
0%
812.2 µs
812.1 µs
overflowing_shr/384
benches/bench.rs::benches::benches::group::overflowing_shr/384
CodSpeed Performance Gauge
0%
820.1 µs
820 µs
reduce_mod/192
benches/bench.rs::benches::benches::group::reduce_mod/192
CodSpeed Performance Gauge
0%
1.1 ms
1.1 ms
overflowing_shl/512
benches/bench.rs::benches::benches::group::overflowing_shl/512
CodSpeed Performance Gauge
0%
999.2 µs
999.1 µs
max/512
benches/bench.rs::benches::benches::group::max/512
CodSpeed Performance Gauge
0%
1.1 ms
1.1 ms
min/512
benches/bench.rs::benches::benches::group::min/512
CodSpeed Performance Gauge
0%
1.1 ms
1.1 ms
reduce_mod/384
benches/bench.rs::benches::benches::group::reduce_mod/384
CodSpeed Performance Gauge
0%
1.7 ms
1.7 ms
max/256
benches/bench.rs::benches::benches::group::max/256
CodSpeed Performance Gauge
0%
554.4 µs
554.4 µs
min/256
benches/bench.rs::benches::benches::group::min/256
CodSpeed Performance Gauge
0%
554.4 µs
554.4 µs
mul/256
benches/bench.rs::benches::benches::group::mul/256
CodSpeed Performance Gauge
0%
654.7 µs
654.6 µs
widening_mul/256/64
benches/bench.rs::benches::benches::group::widening_mul/256/64
CodSpeed Performance Gauge
0%
757 µs
757 µs
sub/384
benches/bench.rs::benches::benches::group::sub/384
CodSpeed Performance Gauge
0%
767.5 µs
767.5 µs
widening_mul/64/1024
benches/bench.rs::benches::benches::group::widening_mul/64/1024
CodSpeed Performance Gauge
0%
2.4 ms
2.4 ms
div_rem/192/192
benches/bench.rs::benches::benches::group::div_rem/192/192
CodSpeed Performance Gauge
0%
1.4 ms
1.4 ms
wrapping_shl/512
benches/bench.rs::benches::benches::group::wrapping_shl/512
CodSpeed Performance Gauge
0%
935.8 µs
935.8 µs
base_convert/4096/4096/10/be
benches/bench.rs::benches::benches::group::base_convert/4096/4096/10/be
CodSpeed Performance Gauge
0%
133.4 ms
133.4 ms
wrapping_shr/512
benches/bench.rs::benches::benches::group::wrapping_shr/512
CodSpeed Performance Gauge
0%
969 µs
968.9 µs
reduce_mod/256
benches/bench.rs::benches::benches::group::reduce_mod/256
CodSpeed Performance Gauge
0%
1.3 ms
1.3 ms
sub/512
benches/bench.rs::benches::benches::group::sub/512
CodSpeed Performance Gauge
0%
1 ms
1 ms
overflowing_shr/512
benches/bench.rs::benches::benches::group::overflowing_shr/512
CodSpeed Performance Gauge
0%
1 ms
1 ms
mul/384
benches/bench.rs::benches::benches::group::mul/384
CodSpeed Performance Gauge
0%
1.2 ms
1.2 ms
base_convert/4096/4096/10/le
benches/bench.rs::benches::benches::group::base_convert/4096/4096/10/le
CodSpeed Performance Gauge
0%
129.6 ms
129.6 ms
widening_mul/1024/64
benches/bench.rs::benches::benches::group::widening_mul/1024/64
CodSpeed Performance Gauge
0%
2.4 ms
2.4 ms
wrapping_shl/64
benches/bench.rs::benches::benches::group::wrapping_shl/64
CodSpeed Performance Gauge
0%
140.1 µs
140.1 µs
div_rem/128/128
benches/bench.rs::benches::benches::group::div_rem/128/128
CodSpeed Performance Gauge
0%
973.9 µs
973.9 µs
overflowing_shr/64
benches/bench.rs::benches::benches::group::overflowing_shr/64
CodSpeed Performance Gauge
0%
207.1 µs
207.1 µs
div_rem/256/256
benches/bench.rs::benches::benches::group::div_rem/256/256
CodSpeed Performance Gauge
0%
1.6 ms
1.6 ms
widening_mul/1024/1024
benches/bench.rs::benches::benches::group::widening_mul/1024/1024
CodSpeed Performance Gauge
0%
12.2 ms
12.2 ms
wrapping_shr/128
benches/bench.rs::benches::benches::group::wrapping_shr/128
CodSpeed Performance Gauge
0%
292.9 µs
292.9 µs
div_rem/192/64
benches/bench.rs::benches::benches::group::div_rem/192/64
CodSpeed Performance Gauge
0%
1.3 ms
1.3 ms
div_rem/512/256
benches/bench.rs::benches::benches::group::div_rem/512/256
CodSpeed Performance Gauge
0%
4.8 ms
4.8 ms
overflowing_shr/128
benches/bench.rs::benches::benches::group::overflowing_shr/128
CodSpeed Performance Gauge
0%
357 µs
357 µs
mul_mod/512
benches/bench.rs::benches::benches::group::mul_mod/512
CodSpeed Performance Gauge
0%
11.6 ms
11.6 ms
div_rem/192/96
benches/bench.rs::benches::benches::group::div_rem/192/96
CodSpeed Performance Gauge
0%
1.6 ms
1.6 ms
overflowing_shr/192
benches/bench.rs::benches::benches::group::overflowing_shr/192
CodSpeed Performance Gauge
0%
495.7 µs
495.7 µs
mul_mod/128
benches/bench.rs::benches::benches::group::mul_mod/128
CodSpeed Performance Gauge
0%
2 ms
2 ms
base_convert/384/384/10/le
benches/bench.rs::benches::benches::group::base_convert/384/384/10/le
CodSpeed Performance Gauge
0%
47.6 ms
47.6 ms
mul_mod/384
benches/bench.rs::benches::benches::group::mul_mod/384
CodSpeed Performance Gauge
0%
8 ms
8 ms
reduce_mod/512
benches/bench.rs::benches::benches::group::reduce_mod/512
CodSpeed Performance Gauge
0%
2 ms
2 ms
base_convert/512/512/10/le
benches/bench.rs::benches::benches::group::base_convert/512/512/10/le
CodSpeed Performance Gauge
0%
91.7 ms
91.7 ms
base_convert/192/192/10/le
benches/bench.rs::benches::benches::group::base_convert/192/192/10/le
CodSpeed Performance Gauge
0%
9.4 ms
9.4 ms
cmp/256
benches/bench.rs::benches::benches::group::cmp/256
CodSpeed Performance Gauge
0%
338 µs
338 µs
cmp/384
benches/bench.rs::benches::benches::group::cmp/384
CodSpeed Performance Gauge
0%
483.9 µs
483.9 µs
cmp/512
benches/bench.rs::benches::benches::group::cmp/512
CodSpeed Performance Gauge
0%
629.6 µs
629.6 µs
div_rem/128/64
benches/bench.rs::benches::benches::group::div_rem/128/64
CodSpeed Performance Gauge
0%
962.2 µs
962.2 µs
le/512
benches/bench.rs::benches::benches::group::le/512
CodSpeed Performance Gauge
0%
626.9 µs
626.9 µs
log/64
benches/bench.rs::benches::benches::group::log/64
CodSpeed Performance Gauge
0%
1.5 ms
1.5 ms
lt/192
benches/bench.rs::benches::benches::group::lt/192
CodSpeed Performance Gauge
0%
262.2 µs
262.2 µs
lt/256
benches/bench.rs::benches::benches::group::lt/256
CodSpeed Performance Gauge
0%
335.2 µs
335.2 µs
lt/512
benches/bench.rs::benches::benches::group::lt/512
CodSpeed Performance Gauge
0%
626.9 µs
626.9 µs
max/128
benches/bench.rs::benches::benches::group::max/128
CodSpeed Performance Gauge
0%
296.8 µs
296.8 µs
mul/192
benches/bench.rs::benches::benches::group::mul/192
CodSpeed Performance Gauge
0%
439.4 µs
439.4 µs
mul_mod/64
benches/bench.rs::benches::benches::group::mul_mod/64
CodSpeed Performance Gauge
0%
821.5 µs
821.5 µs
neg/384
benches/bench.rs::benches::benches::group::neg/384
CodSpeed Performance Gauge
0%
534.8 µs
534.8 µs
neg/512
benches/bench.rs::benches::benches::group::neg/512
CodSpeed Performance Gauge
0%
708.7 µs
708.7 µs
overflowing_shl/128
benches/bench.rs::benches::benches::group::overflowing_shl/128
CodSpeed Performance Gauge
0%
346.1 µs
346.1 µs
overflowing_shl/192
benches/bench.rs::benches::benches::group::overflowing_shl/192
CodSpeed Performance Gauge
0%
475.5 µs
475.5 µs
overflowing_shl/256
benches/bench.rs::benches::benches::group::overflowing_shl/256
CodSpeed Performance Gauge
0%
565.7 µs
565.7 µs
overflowing_shl/64
benches/bench.rs::benches::benches::group::overflowing_shl/64
CodSpeed Performance Gauge
0%
209.6 µs
209.6 µs
overflowing_shr/256
benches/bench.rs::benches::benches::group::overflowing_shr/256
CodSpeed Performance Gauge
0%
588.7 µs
588.7 µs
pow_mod/64
benches/bench.rs::benches::benches::group::pow_mod/64
CodSpeed Performance Gauge
0%
641.1 µs
641.1 µs
sub/192
benches/bench.rs::benches::benches::group::sub/192
CodSpeed Performance Gauge
0%
389.4 µs
389.4 µs
widening_mul/64/256
benches/bench.rs::benches::benches::group::widening_mul/64/256
CodSpeed Performance Gauge
0%
787.6 µs
787.6 µs
wrapping_shl/256
benches/bench.rs::benches::benches::group::wrapping_shl/256
CodSpeed Performance Gauge
0%
496.5 µs
496.5 µs
wrapping_shl/384
benches/bench.rs::benches::benches::group::wrapping_shl/384
CodSpeed Performance Gauge
0%
726.5 µs
726.5 µs
wrapping_shr/256
benches/bench.rs::benches::benches::group::wrapping_shr/256
CodSpeed Performance Gauge
0%
518.1 µs
518.1 µs
wrapping_shr/384
benches/bench.rs::benches::benches::group::wrapping_shr/384
CodSpeed Performance Gauge
0%
756.3 µs
756.3 µs
mul/512
benches/bench.rs::benches::benches::group::mul/512
CodSpeed Performance Gauge
0%
2 ms
2 ms
pow_mod/512
benches/bench.rs::benches::benches::group::pow_mod/512
CodSpeed Performance Gauge
0%
79.1 ms
79.1 ms
base_convert/512/512/10/be
benches/bench.rs::benches::benches::group::base_convert/512/512/10/be
CodSpeed Performance Gauge
0%
110 ms
110 ms
pow_mod/256
benches/bench.rs::benches::benches::group::pow_mod/256
CodSpeed Performance Gauge
0%
16.8 ms
16.8 ms
pow_mod/384
benches/bench.rs::benches::benches::group::pow_mod/384
CodSpeed Performance Gauge
0%
40.5 ms
40.5 ms
base_convert/256/256/10/le
benches/bench.rs::benches::benches::group::base_convert/256/256/10/le
CodSpeed Performance Gauge
0%
18.4 ms
18.4 ms
base_convert/64/64/10/be
benches/bench.rs::benches::benches::group::base_convert/64/64/10/be
CodSpeed Performance Gauge
0%
8.3 ms
8.3 ms
mul_mod/256
benches/bench.rs::benches::benches::group::mul_mod/256
CodSpeed Performance Gauge
0%
5.1 ms
5.1 ms
widening_mul/256/1024
benches/bench.rs::benches::benches::group::widening_mul/256/1024
CodSpeed Performance Gauge
0%
4.8 ms
4.8 ms
pow_mod/192
benches/bench.rs::benches::benches::group::pow_mod/192
CodSpeed Performance Gauge
0%
9.5 ms
9.5 ms
mul_mod/192
benches/bench.rs::benches::benches::group::mul_mod/192
CodSpeed Performance Gauge
0%
3.9 ms
3.9 ms
div_rem/384/64
benches/bench.rs::benches::benches::group::div_rem/384/64
CodSpeed Performance Gauge
0%
2.1 ms
2.1 ms
base_convert/128/128/10/le
benches/bench.rs::benches::benches::group::base_convert/128/128/10/le
CodSpeed Performance Gauge
0%
3.5 ms
3.5 ms
reduce_mod/64
benches/bench.rs::benches::benches::group::reduce_mod/64
CodSpeed Performance Gauge
0%
159.4 µs
159.4 µs
pow_mod/128
benches/bench.rs::benches::benches::group::pow_mod/128
CodSpeed Performance Gauge
0%
3.1 ms
3.1 ms
max/64
benches/bench.rs::benches::benches::group::max/64
CodSpeed Performance Gauge
0%
145.8 µs
145.8 µs
min/64
benches/bench.rs::benches::benches::group::min/64
CodSpeed Performance Gauge
0%
145.8 µs
145.8 µs
sub/64
benches/bench.rs::benches::benches::group::sub/64
CodSpeed Performance Gauge
0%
126.2 µs
126.2 µs
div_rem/256/128
benches/bench.rs::benches::benches::group::div_rem/256/128
CodSpeed Performance Gauge
0%
1.9 ms
1.9 ms
widening_mul/1024/256
benches/bench.rs::benches::benches::group::widening_mul/1024/256
CodSpeed Performance Gauge
0%
4.7 ms
4.7 ms
div_rem/384/192
benches/bench.rs::benches::benches::group::div_rem/384/192
CodSpeed Performance Gauge
0%
3.7 ms
3.7 ms
div_rem/256/64
benches/bench.rs::benches::benches::group::div_rem/256/64
CodSpeed Performance Gauge
0%
1.5 ms
1.5 ms
neg/64
benches/bench.rs::benches::benches::group::neg/64
CodSpeed Performance Gauge
0%
83.4 µs
83.4 µs
div_rem/384/384
benches/bench.rs::benches::benches::group::div_rem/384/384
CodSpeed Performance Gauge
0%
2 ms
2 ms
widening_mul/256/256
benches/bench.rs::benches::benches::group::widening_mul/256/256
CodSpeed Performance Gauge
0%
1.8 ms
1.8 ms
base_convert/64/64/10/le
benches/bench.rs::benches::benches::group::base_convert/64/64/10/le
CodSpeed Performance Gauge
0%
615.7 µs
615.8 µs
sub/256
benches/bench.rs::benches::benches::group::sub/256
CodSpeed Performance Gauge
0%
515.4 µs
515.4 µs
lt/384
benches/bench.rs::benches::benches::group::lt/384
CodSpeed Performance Gauge
0%
481.1 µs
481.1 µs
max/192
benches/bench.rs::benches::benches::group::max/192
CodSpeed Performance Gauge
0%
439.5 µs
439.5 µs
min/192
benches/bench.rs::benches::benches::group::min/192
CodSpeed Performance Gauge
0%
439.5 µs
439.5 µs
neg/256
benches/bench.rs::benches::benches::group::neg/256
CodSpeed Performance Gauge
0%
361.2 µs
361.2 µs
wrapping_shl/128
benches/bench.rs::benches::benches::group::wrapping_shl/128
CodSpeed Performance Gauge
0%
281.9 µs
281.9 µs
mul/128
benches/bench.rs::benches::benches::group::mul/128
CodSpeed Performance Gauge
0%
277.2 µs
277.2 µs
neg/192
benches/bench.rs::benches::benches::group::neg/192
CodSpeed Performance Gauge
0%
274.4 µs
274.4 µs
cmp/192
benches/bench.rs::benches::benches::group::cmp/192
CodSpeed Performance Gauge
0%
265 µs
265.1 µs
sub/128
benches/bench.rs::benches::benches::group::sub/128
CodSpeed Performance Gauge
0%
263.3 µs
263.3 µs
reduce_mod/128
benches/bench.rs::benches::benches::group::reduce_mod/128
CodSpeed Performance Gauge
0%
730.8 µs
730.9 µs
pow/4096
benches/bench.rs::benches::benches::group::pow/4096
CodSpeed Performance Gauge
0%
2.2 ms
2.2 ms
wrapping_shr/192
benches/bench.rs::benches::benches::group::wrapping_shr/192
CodSpeed Performance Gauge
0%
429.8 µs
429.8 µs
wrapping_shl/192
benches/bench.rs::benches::benches::group::wrapping_shl/192
CodSpeed Performance Gauge
0%
412.3 µs
412.4 µs
widening_mul/64/64
benches/bench.rs::benches::benches::group::widening_mul/64/64
CodSpeed Performance Gauge
0%
201.7 µs
201.7 µs
mul/4096
benches/bench.rs::benches::benches::group::mul/4096
CodSpeed Performance Gauge
0%
780.7 µs
780.8 µs
cmp/128
benches/bench.rs::benches::benches::group::cmp/128
CodSpeed Performance Gauge
0%
192.1 µs
192.2 µs
lt/128
benches/bench.rs::benches::benches::group::lt/128
CodSpeed Performance Gauge
0%
189.4 µs
189.4 µs
neg/128
benches/bench.rs::benches::benches::group::neg/128
CodSpeed Performance Gauge
0%
182 µs
182.1 µs
mul/64
benches/bench.rs::benches::benches::group::mul/64
CodSpeed Performance Gauge
0%
131.7 µs
131.7 µs
sub/4096
benches/bench.rs::benches::benches::group::sub/4096
CodSpeed Performance Gauge
0%
94.4 µs
94.4 µs
max/4096
benches/bench.rs::benches::benches::group::max/4096
CodSpeed Performance Gauge
0%
82.1 µs
82.2 µs
min/4096
benches/bench.rs::benches::benches::group::min/4096
CodSpeed Performance Gauge
0%
82.1 µs
82.2 µs
cmp/64
benches/bench.rs::benches::benches::group::cmp/64
CodSpeed Performance Gauge
0%
108.2 µs
108.2 µs
eq/64
benches/bench.rs::benches::benches::group::eq/64
CodSpeed Performance Gauge
0%
101.2 µs
101.2 µs
ge/64
benches/bench.rs::benches::benches::group::ge/64
CodSpeed Performance Gauge
0%
101.2 µs
101.2 µs
gt/64
benches/bench.rs::benches::benches::group::gt/64
CodSpeed Performance Gauge
0%
101.2 µs
101.2 µs
is_zero/128
benches/bench.rs::benches::benches::group::is_zero/128
CodSpeed Performance Gauge
0%
101.2 µs
101.2 µs
le/64
benches/bench.rs::benches::benches::group::le/64
CodSpeed Performance Gauge
0%
101.2 µs
101.2 µs
lt/64
benches/bench.rs::benches::benches::group::lt/64
CodSpeed Performance Gauge
0%
101.2 µs
101.2 µs
is_zero/256
benches/bench.rs::benches::benches::group::is_zero/256
CodSpeed Performance Gauge
0%
194.9 µs
195 µs
le/128
benches/bench.rs::benches::benches::group::le/128
CodSpeed Performance Gauge
0%
189.3 µs
189.4 µs
base_convert/256/256/10/be
benches/bench.rs::benches::benches::group::base_convert/256/256/10/be
CodSpeed Performance Gauge
0%
33.6 ms
33.6 ms
is_zero/64
benches/bench.rs::benches::benches::group::is_zero/64
CodSpeed Performance Gauge
0%
60 µs
60 µs
base_convert/192/192/10/be
benches/bench.rs::benches::benches::group::base_convert/192/192/10/be
CodSpeed Performance Gauge
0%
22.5 ms
22.5 ms
pow/256
benches/bench.rs::benches::benches::group::pow/256
CodSpeed Performance Gauge
0%
865.3 µs
865.9 µs
base_convert/128/128/10/be
benches/bench.rs::benches::benches::group::base_convert/128/128/10/be
CodSpeed Performance Gauge
0%
13.9 ms
13.9 ms
pow/192
benches/bench.rs::benches::benches::group::pow/192
CodSpeed Performance Gauge
0%
267.4 µs
267.8 µs
pow/64
benches/bench.rs::benches::benches::group::pow/64
CodSpeed Performance Gauge
0%
17.4 µs
17.5 µs
inv_mod/4096
benches/bench.rs::benches::benches::group::inv_mod/4096
CodSpeed Performance Gauge
0%
68.8 ms
69.1 ms
root/2/4096/4096
benches/bench.rs::benches::benches::group::root/2/4096/4096
CodSpeed Performance Gauge
-1%
8.6 ms
8.7 ms
root/3/128/128
benches/bench.rs::benches::benches::group::root/3/128/128
CodSpeed Performance Gauge
-1%
5.1 ms
5.2 ms
root/2/128/128
benches/bench.rs::benches::benches::group::root/2/128/128
CodSpeed Performance Gauge
-1%
5.2 ms
5.3 ms
root/5/128/128
benches/bench.rs::benches::benches::group::root/5/128/128
CodSpeed Performance Gauge
-1%
5.7 ms
5.8 ms
overflowing_pow/128
benches/bench.rs::benches::benches::group::overflowing_pow/128
CodSpeed Performance Gauge
-1%
535 µs
540 µs
root/3/4096/4096
benches/bench.rs::benches::benches::group::root/3/4096/4096
CodSpeed Performance Gauge
-1%
9.4 ms
9.5 ms
pow/128
benches/bench.rs::benches::benches::group::pow/128
CodSpeed Performance Gauge
-1%
61.3 µs
62 µs
log/4096
benches/bench.rs::benches::benches::group::log/4096
CodSpeed Performance Gauge
-1%
3.9 ms
3.9 ms
root/127/64/64
benches/bench.rs::benches::benches::group::root/127/64/64
CodSpeed Performance Gauge
-1%
212 µs
214.8 µs
root/5/4096/4096
benches/bench.rs::benches::benches::group::root/5/4096/4096
CodSpeed Performance Gauge
-1%
9.7 ms
9.8 ms
root/5/64/64
benches/bench.rs::benches::benches::group::root/5/64/64
CodSpeed Performance Gauge
-2%
1.2 ms
1.3 ms
root/127/4096/4096
benches/bench.rs::benches::benches::group::root/127/4096/4096
CodSpeed Performance Gauge
-2%
2.7 ms
2.8 ms
root/3/64/64
benches/bench.rs::benches::benches::group::root/3/64/64
CodSpeed Performance Gauge
-2%
1.2 ms
1.2 ms
root/2/64/64
benches/bench.rs::benches::benches::group::root/2/64/64
CodSpeed Performance Gauge
-2%
1.1 ms
1.1 ms
base_convert/384/384/10/be
benches/bench.rs::benches::benches::group::base_convert/384/384/10/be
CodSpeed Performance Gauge
-3%
64.9 ms
67 ms
pow/384
benches/bench.rs::benches::benches::group::pow/384
CodSpeed Performance Gauge
-3%
3.7 ms
3.9 ms
pow/512
benches/bench.rs::benches::benches::group::pow/512
CodSpeed Performance Gauge
-5%
9.4 ms
9.8 ms
log/512
benches/bench.rs::benches::benches::group::log/512
CodSpeed Performance Gauge
-5%
29.2 ms
30.7 ms
root/2/512/512
benches/bench.rs::benches::benches::group::root/2/512/512
CodSpeed Performance Gauge
-6%
30.7 ms
32.6 ms
overflowing_pow/512
benches/bench.rs::benches::benches::group::overflowing_pow/512
CodSpeed Performance Gauge
-7%
9 ms
9.6 ms
root/2/192/192
benches/bench.rs::benches::benches::group::root/2/192/192
CodSpeed Performance Gauge
-7%
8.4 ms
9 ms
root/3/512/512
benches/bench.rs::benches::benches::group::root/3/512/512
CodSpeed Performance Gauge
-7%
27.1 ms
29.2 ms
root/3/256/256
benches/bench.rs::benches::benches::group::root/3/256/256
CodSpeed Performance Gauge
-7%
11.2 ms
12.1 ms
root/2/384/384
benches/bench.rs::benches::benches::group::root/2/384/384
CodSpeed Performance Gauge
-8%
20.9 ms
22.6 ms
root/3/192/192
benches/bench.rs::benches::benches::group::root/3/192/192
CodSpeed Performance Gauge
-8%
8.3 ms
9 ms
root/5/192/192
benches/bench.rs::benches::benches::group::root/5/192/192
CodSpeed Performance Gauge
-8%
7.7 ms
8.4 ms
root/5/512/512
benches/bench.rs::benches::benches::group::root/5/512/512
CodSpeed Performance Gauge
-8%
28.7 ms
31.3 ms
root/5/256/256
benches/bench.rs::benches::benches::group::root/5/256/256
CodSpeed Performance Gauge
-8%
10.7 ms
11.7 ms
root/2/256/256
benches/bench.rs::benches::benches::group::root/2/256/256
CodSpeed Performance Gauge
-9%
11.6 ms
12.6 ms
root/3/384/384
benches/bench.rs::benches::benches::group::root/3/384/384
CodSpeed Performance Gauge
-9%
20.3 ms
22.3 ms
root/5/384/384
benches/bench.rs::benches::benches::group::root/5/384/384
CodSpeed Performance Gauge
-9%
16.5 ms
18.1 ms

Commits

Click on a commit to change the comparison range
Base
main
ae691f1
-25%
perf: try making 2pow path cold
44b0af4
2 months ago
by DaniPopes
© 2025 CodSpeed Technology
Home Terms Privacy Docs