Skip to content

Commit 9a5de30

Browse files
author
supr
authored
fix: u128 panics bench.rs
Since benches are meant to measure performance not correctness, the following u128 benches have added wrapping in order to prevent panics. The other Uint128 tests did not panic, so they were left as is; e.g. Benchmarking u128/right shift: Warming up for 3.0000 sthread 'main' panicked at math/benches/bench.rs:50:54: attempt to shift right with overflow stack backtrace: 0: 0x613015e7a3aa - <unknown> 1: 0x613015ce9323 - <unknown> 2: 0x613015e76f13 - <unknown> 3: 0x613015e7a202 - <unknown> 4: 0x613015e7aff7 - <unknown> 5: 0x613015e7ae5d - <unknown> 6: 0x613015e7b5a7 - <unknown> 7: 0x613015e7b416 - <unknown> 8: 0x613015e7a859 - <unknown> 9: 0x613015e7b0ec - <unknown> 10: 0x613015c1ad20 - <unknown> 11: 0x613015c1b3d7 - <unknown> 12: 0x613015c830d9 - <unknown> 13: 0x613015c266ba - <unknown> 14: 0x613015c48bf5 - <unknown> 15: 0x613015cadfa4 - <unknown> 16: 0x613015c7769f - <unknown> 17: 0x613015ca018d - <unknown> 18: 0x613015ca18e3 - <unknown> 19: 0x613015ca4ac9 - <unknown> 20: 0x613015e72e9d - <unknown> 21: 0x613015ca1385 - <unknown> 22: 0x72338162a1ca - __libc_start_call_main at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16 23: 0x72338162a28b - __libc_start_main_impl at ./csu/../csu/libc-start.c:360:3 24: 0x613015c21ff5 - <unknown> 25: 0x0 - <unknown> error: bench failed, to rerun pass `-p kaspa-math --bench bench`
1 parent b4a07a0 commit 9a5de30

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

math/benches/bench.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,14 @@ fn bench_uint128(c: &mut Criterion) {
4040

4141
let mut u128_c = c.benchmark_group("u128");
4242

43-
bench_op(&mut u128_c, &u128_one, &u128_two, |a, b| a + b, "add");
44-
bench_op(&mut u128_c, &u128_one, &u64s, |a, b| a + (b as u128), "addition u64");
45-
bench_op(&mut u128_c, &u128_one, &u128_two, |a, b| a * b, "multiplication");
46-
bench_op(&mut u128_c, &u128_one, &u64s, |a, b| a * (b as u128), "multiplication u64");
47-
bench_op(&mut u128_c, &u128_one, &u128_two, |a, b| a / b, "division");
48-
bench_op(&mut u128_c, &u128_one, &u64s, |a, b| a / (b as u128), "u64 division");
49-
bench_op(&mut u128_c, &u128_one, &shifts, |a, b| a << b, "left shift");
50-
bench_op(&mut u128_c, &u128_one, &shifts, |a, b| a >> b, "right shift");
43+
bench_op(&mut u128_c, &u128_one, &u128_two, |a, b| a.wrapping_add(b), "add");
44+
bench_op(&mut u128_c, &u128_one, &u64s, |a, b| a.wrapping_add(b as u128), "addition u64");
45+
bench_op(&mut u128_c, &u128_one, &u128_two, |a, b| a.wrapping_mul(b), "multiplication");
46+
bench_op(&mut u128_c, &u128_one, &u64s, |a, b| a.wrapping_mul(b as u128), "multiplication u64");
47+
bench_op(&mut u128_c, &u128_one, &u128_two, |a, b| a.wrapping_div(b), "division");
48+
bench_op(&mut u128_c, &u128_one, &u64s, |a, b| a.wrapping_div(b as u128), "u64 division");
49+
bench_op(&mut u128_c, &u128_one, &shifts, |a, b| a.wrapping_shl(b), "left shift");
50+
bench_op(&mut u128_c, &u128_one, &shifts, |a, b| a.wrapping_shr(b), "right shift");
5151
u128_c.finish();
5252

5353
let mut uint128_c = c.benchmark_group("Uint128");

0 commit comments

Comments
 (0)