alloy-rs
nybbles
BlogDocsChangelog

bench: generate random inputs for each benchmark iteration

#25
Comparing
alexey/fix-benchmark-random-inputs
(
a4c8884
) with
main
(
866d3f7
)
CodSpeed Performance Gauge
-98%
Regressions
62
Untouched
8
New
20
Dropped
45

Benchmarks

Failed

get_byte_unchecked[32]
benches/bench.rs::benches::bench_get_byte::get_byte
Missing
CodSpeed Performance Gauge
N/A
297.5 nsN/A
get_byte[16]
benches/bench.rs::benches::bench_get_byte::get_byte
Missing
CodSpeed Performance Gauge
N/A
205.8 nsN/A
from_start[64]
benches/bench.rs::benches::bench_slice::slice
Missing
CodSpeed Performance Gauge
N/A
369.7 nsN/A
to_end[64]
benches/bench.rs::benches::bench_slice::slice
Missing
CodSpeed Performance Gauge
N/A
309.4 nsN/A
join[64]
benches/bench.rs::benches::bench_join
Missing
CodSpeed Performance Gauge
N/A
2.3 µsN/A
get_byte_unchecked[64]
benches/bench.rs::benches::bench_get_byte::get_byte
Missing
CodSpeed Performance Gauge
N/A
421.9 nsN/A
get_byte[64]
benches/bench.rs::benches::bench_get_byte::get_byte
Missing
CodSpeed Performance Gauge
N/A
515 nsN/A
to_end[32]
benches/bench.rs::benches::bench_slice::slice
Missing
CodSpeed Performance Gauge
N/A
338.3 nsN/A
middle[32]
benches/bench.rs::benches::bench_slice::slice
Missing
CodSpeed Performance Gauge
N/A
489.2 nsN/A
to_end[16]
benches/bench.rs::benches::bench_slice::slice
Missing
CodSpeed Performance Gauge
N/A
368.1 nsN/A
from_start[32]
benches/bench.rs::benches::bench_slice::slice
Missing
CodSpeed Performance Gauge
N/A
398.6 nsN/A
middle[16]
benches/bench.rs::benches::bench_slice::slice
Missing
CodSpeed Performance Gauge
N/A
489.7 nsN/A
middle[64]
benches/bench.rs::benches::bench_slice::slice
Missing
CodSpeed Performance Gauge
N/A
488.6 nsN/A
get_byte[32]
benches/bench.rs::benches::bench_get_byte::get_byte
Missing
CodSpeed Performance Gauge
N/A
328.3 nsN/A
get_byte_unchecked[16]
benches/bench.rs::benches::bench_get_byte::get_byte
Missing
CodSpeed Performance Gauge
N/A
206.1 nsN/A
naive[32]
benches/bench.rs::benches::nibbles_benchmark::pack
Missing
CodSpeed Performance Gauge
N/A
1.7 µsN/A
from_start[16]
benches/bench.rs::benches::bench_slice::slice
Missing
CodSpeed Performance Gauge
N/A
399.2 nsN/A
get_byte_unchecked[8]
benches/bench.rs::benches::bench_get_byte::get_byte
Missing
CodSpeed Performance Gauge
N/A
175 nsN/A
middle[8]
benches/bench.rs::benches::bench_slice::slice
Missing
CodSpeed Performance Gauge
N/A
490.6 nsN/A
from_start[8]
benches/bench.rs::benches::bench_slice::slice
Missing
CodSpeed Performance Gauge
N/A
399.7 nsN/A
get_byte[8]
benches/bench.rs::benches::bench_get_byte::get_byte
Missing
CodSpeed Performance Gauge
N/A
159.2 nsN/A
to_end[8]
benches/bench.rs::benches::bench_slice::slice
Missing
CodSpeed Performance Gauge
N/A
368.6 nsN/A
naive[16]
benches/bench.rs::benches::nibbles_benchmark::unpack
Missing
CodSpeed Performance Gauge
N/A
1.7 µsN/A
nybbles[64]
benches/bench.rs::benches::nibbles_benchmark::pack
Missing
CodSpeed Performance Gauge
N/A
506.4 nsN/A
nybbles[16]
benches/bench.rs::benches::nibbles_benchmark::pack
Missing
CodSpeed Performance Gauge
N/A
446.4 nsN/A
nybbles[8]
benches/bench.rs::benches::nibbles_benchmark::pack
Missing
CodSpeed Performance Gauge
N/A
436.4 nsN/A
naive[64]
benches/bench.rs::benches::nibbles_benchmark::pack
Missing
CodSpeed Performance Gauge
N/A
1.8 µsN/A
nybbles[32]
benches/bench.rs::benches::nibbles_benchmark::pack
Missing
CodSpeed Performance Gauge
N/A
466.4 nsN/A
nybbles[32]
benches/bench.rs::benches::nibbles_benchmark::unpack
Missing
CodSpeed Performance Gauge
N/A
496.7 nsN/A
naive[16]
benches/bench.rs::benches::nibbles_benchmark::pack
Missing
CodSpeed Performance Gauge
N/A
1.7 µsN/A
pack[32]
benches/bench.rs::benches::bench_pack::pack
Missing
CodSpeed Performance Gauge
N/A
535.6 nsN/A
nybbles[8]
benches/bench.rs::benches::nibbles_benchmark::unpack
Missing
CodSpeed Performance Gauge
N/A
493.3 nsN/A
naive[32]
benches/bench.rs::benches::nibbles_benchmark::unpack
Missing
CodSpeed Performance Gauge
N/A
1.8 µsN/A
nybbles[16]
benches/bench.rs::benches::nibbles_benchmark::unpack
Missing
CodSpeed Performance Gauge
N/A
462.2 nsN/A
naive[8]
benches/bench.rs::benches::nibbles_benchmark::pack
Missing
CodSpeed Performance Gauge
N/A
1.7 µsN/A
nybbles[4]
benches/bench.rs::benches::nibbles_benchmark::unpack
Missing
CodSpeed Performance Gauge
N/A
490.3 nsN/A
pack_to[32]
benches/bench.rs::benches::bench_pack::pack
Missing
CodSpeed Performance Gauge
N/A
440.8 nsN/A
naive[8]
benches/bench.rs::benches::nibbles_benchmark::unpack
Missing
CodSpeed Performance Gauge
N/A
1.6 µsN/A
pack[16]
benches/bench.rs::benches::bench_pack::pack
Missing
CodSpeed Performance Gauge
N/A
495.6 nsN/A
naive[4]
benches/bench.rs::benches::nibbles_benchmark::unpack
Missing
CodSpeed Performance Gauge
N/A
1.6 µsN/A
pack_to[16]
benches/bench.rs::benches::bench_pack::pack
Missing
CodSpeed Performance Gauge
N/A
371.7 nsN/A
pack_to[8]
benches/bench.rs::benches::bench_pack::pack
Missing
CodSpeed Performance Gauge
N/A
351.7 nsN/A
pack[8]
benches/bench.rs::benches::bench_pack::pack
Missing
CodSpeed Performance Gauge
N/A
475.6 nsN/A
pack[4]
benches/bench.rs::benches::bench_pack::pack
Missing
CodSpeed Performance Gauge
N/A
465.6 nsN/A
pack_to[4]
benches/bench.rs::benches::bench_pack::pack
Missing
CodSpeed Performance Gauge
N/A
341.7 nsN/A
cmp[16]
benches/bench.rs::benches::bench_cmp
Regression
CodSpeed Performance Gauge
-97%
305.8 ns8,861.4 ns
cmp[64]
benches/bench.rs::benches::bench_cmp
Regression
CodSpeed Performance Gauge
-96%
303.6 ns8,579.2 ns
clone[16]
benches/bench.rs::benches::bench_clone
Regression
CodSpeed Performance Gauge
-96%
335.3 ns8,894.7 ns
cmp[32]
benches/bench.rs::benches::bench_cmp
Regression
CodSpeed Performance Gauge
-96%
303.6 ns8,550 ns
clone[8]
benches/bench.rs::benches::bench_clone
Regression
CodSpeed Performance Gauge
-96%
335.8 ns8,950.3 ns
from_nibbles[16]
benches/bench.rs::benches::bench_from_nibbles
Regression
CodSpeed Performance Gauge
-97%
400.6 ns12,657.2 ns
from_nibbles[64]
benches/bench.rs::benches::bench_from_nibbles
Regression
CodSpeed Performance Gauge
-98%
494.2 ns24,182.8 ns
from_nibbles[32]
benches/bench.rs::benches::bench_from_nibbles
Regression
CodSpeed Performance Gauge
-98%
402.8 ns16,502.2 ns
from_nibbles[8]
benches/bench.rs::benches::bench_from_nibbles
Regression
CodSpeed Performance Gauge
-97%
385.6 ns11,157.2 ns
starts_with[16]
benches/bench.rs::benches::bench_starts_with
Regression
CodSpeed Performance Gauge
-97%
276.7 ns8,830.6 ns
last[32]
benches/bench.rs::benches::bench_last
Regression
CodSpeed Performance Gauge
-97%
121.7 ns4,367.5 ns
clone[64]
benches/bench.rs::benches::bench_clone
Regression
CodSpeed Performance Gauge
-97%
306.4 ns8,893.3 ns
ends_with[8]
benches/bench.rs::benches::bench_ends_with
Regression
CodSpeed Performance Gauge
-97%
276.9 ns8,782.8 ns
clone[32]
benches/bench.rs::benches::bench_clone
Regression
CodSpeed Performance Gauge
-97%
306.4 ns8,893.3 ns
starts_with[8]
benches/bench.rs::benches::bench_starts_with
Regression
CodSpeed Performance Gauge
-97%
276.7 ns8,725.8 ns
last[64]
benches/bench.rs::benches::bench_last
Regression
CodSpeed Performance Gauge
-97%
121.7 ns4,367.5 ns
increment[8]
benches/bench.rs::benches::bench_increment
Regression
CodSpeed Performance Gauge
-95%
495 ns10,846.4 ns
starts_with[64]
benches/bench.rs::benches::bench_starts_with
Regression
CodSpeed Performance Gauge
-97%
276.7 ns8,923.9 ns
unpack[4]
benches/bench.rs::benches::bench_unpack
Regression
CodSpeed Performance Gauge
-95%
489.7 ns9,975.6 ns
ends_with[16]
benches/bench.rs::benches::bench_ends_with
Regression
CodSpeed Performance Gauge
-97%
276.9 ns8,887.5 ns
increment[32]
benches/bench.rs::benches::bench_increment
Regression
CodSpeed Performance Gauge
-96%
467.8 ns10,793.9 ns
ends_with[32]
benches/bench.rs::benches::bench_ends_with
Regression
CodSpeed Performance Gauge
-97%
276.9 ns8,870.3 ns
increment[16]
benches/bench.rs::benches::bench_increment
Regression
CodSpeed Performance Gauge
-95%
494.4 ns10,795.3 ns
ends_with[64]
benches/bench.rs::benches::bench_ends_with
Regression
CodSpeed Performance Gauge
-97%
276.9 ns8,955 ns
push[16]
benches/bench.rs::benches::bench_push
Regression
CodSpeed Performance Gauge
-98%
514.7 ns22,828.9 ns
push[32]
benches/bench.rs::benches::bench_push
Regression
CodSpeed Performance Gauge
-98%
665.8 ns37,400.3 ns
increment[64]
benches/bench.rs::benches::bench_increment
Regression
CodSpeed Performance Gauge
-96%
465.6 ns10,789.4 ns
unpack[16]
benches/bench.rs::benches::bench_unpack
Regression
CodSpeed Performance Gauge
-95%
461.7 ns10,172.8 ns
pop[32]
benches/bench.rs::benches::bench_pop
Regression
CodSpeed Performance Gauge
-97%
541.1 ns17,679.4 ns
starts_with[32]
benches/bench.rs::benches::bench_starts_with
Regression
CodSpeed Performance Gauge
-97%
276.7 ns8,813.9 ns
unpack[8]
benches/bench.rs::benches::bench_unpack
Regression
CodSpeed Performance Gauge
-95%
492.8 ns10,310.3 ns
unpack[32]
benches/bench.rs::benches::bench_unpack
Regression
CodSpeed Performance Gauge
-96%
466.9 ns11,465 ns
pop[8]
benches/bench.rs::benches::bench_pop
Regression
CodSpeed Performance Gauge
-96%
361.1 ns8,403.1 ns
first[16]
benches/bench.rs::benches::bench_first
Regression
CodSpeed Performance Gauge
-97%
150.8 ns4,367.5 ns
from_vec_unchecked[16]
benches/bench.rs::benches::bench_from_vec_unchecked
Regression
CodSpeed Performance Gauge
-91%
1.5 µs17.4 µs
pop[16]
benches/bench.rs::benches::bench_pop
Regression
CodSpeed Performance Gauge
-96%
421.1 ns11,458.6 ns
push[64]
benches/bench.rs::benches::bench_push
Regression
CodSpeed Performance Gauge
-98%
997.2 ns66,297.5 ns
first[8]
benches/bench.rs::benches::bench_first
Regression
CodSpeed Performance Gauge
-97%
150.8 ns4,367.5 ns
from_vec_unchecked[32]
benches/bench.rs::benches::bench_from_vec_unchecked
Regression
CodSpeed Performance Gauge
-92%
1.5 µs18.1 µs
from_vec_unchecked[64]
benches/bench.rs::benches::bench_from_vec_unchecked
Regression
CodSpeed Performance Gauge
-92%
1.5 µs19.5 µs
join[8]
benches/bench.rs::benches::bench_join
Regression
CodSpeed Performance Gauge
-95%
956.1 ns18,026.4 ns
from_vec_unchecked[8]
benches/bench.rs::benches::bench_from_vec_unchecked
Regression
CodSpeed Performance Gauge
-91%
1.5 µs17.4 µs
push[8]
benches/bench.rs::benches::bench_push
Regression
CodSpeed Performance Gauge
-97%
439.2 ns15,881.7 ns
last[8]
benches/bench.rs::benches::bench_last
Regression
CodSpeed Performance Gauge
-97%
150.8 ns4,367.5 ns
pop[64]
benches/bench.rs::benches::bench_pop
Regression
CodSpeed Performance Gauge
-97%
781.1 ns30,123.9 ns
join[16]
benches/bench.rs::benches::bench_join
Regression
CodSpeed Performance Gauge
-95%
955 ns17,886.1 ns
first[32]
benches/bench.rs::benches::bench_first
Regression
CodSpeed Performance Gauge
-97%
150.8 ns4,367.5 ns
extend[16]
benches/bench.rs::benches::bench_extend
Regression
CodSpeed Performance Gauge
-96%
466.4 ns11,050 ns
last[16]
benches/bench.rs::benches::bench_last
Regression
CodSpeed Performance Gauge
-97%
150.8 ns4,396.7 ns
extend[32]
benches/bench.rs::benches::bench_extend
Regression
CodSpeed Performance Gauge
-96%
466.7 ns11,105.6 ns
set_at[16]
benches/bench.rs::benches::bench_set_at
Regression
CodSpeed Performance Gauge
-94%
392.8 ns6,267.5 ns
set_at[8]
benches/bench.rs::benches::bench_set_at
Regression
CodSpeed Performance Gauge
-95%
332.8 ns6,280 ns
join[32]
benches/bench.rs::benches::bench_join
Regression
CodSpeed Performance Gauge
-95%
925.6 ns17,941.7 ns
set_at[32]
benches/bench.rs::benches::bench_set_at
Regression
CodSpeed Performance Gauge
-92%
512.8 ns6,215 ns
common_prefix_length[8]
benches/bench.rs::benches::bench_common_prefix_length
Regression
CodSpeed Performance Gauge
-98%
200 ns9,120.3 ns
extend[8]
benches/bench.rs::benches::bench_extend
Regression
CodSpeed Performance Gauge
-96%
496.1 ns11,190.3 ns
common_prefix_length[32]
benches/bench.rs::benches::bench_common_prefix_length
Regression
CodSpeed Performance Gauge
-98%
295.8 ns13,048.1 ns
common_prefix_length[16]
benches/bench.rs::benches::bench_common_prefix_length
Regression
CodSpeed Performance Gauge
-98%
251.4 ns10,220.3 ns
set_at[64]
benches/bench.rs::benches::bench_set_at
Regression
CodSpeed Performance Gauge
-88%
752.8 ns6,208.6 ns
first[64]
benches/bench.rs::benches::bench_first
Regression
CodSpeed Performance Gauge
-97%
150.8 ns4,367.5 ns
common_prefix_length[64]
benches/bench.rs::benches::bench_common_prefix_length
Regression
CodSpeed Performance Gauge
-98%
384.7 ns16,682.8 ns
cmp[8]
benches/bench.rs::benches::bench_cmp
Regression
CodSpeed Performance Gauge
-97%
305.8 ns8,825.6 ns

New

slice[64]
benches/bench.rs::benches::bench_slice
CodSpeed Performance Gauge
N/A
N/A9.8 µs
slice[8]
benches/bench.rs::benches::bench_slice
CodSpeed Performance Gauge
N/A
N/A9.8 µs
pack[8]
benches/bench.rs::benches::bench_pack
CodSpeed Performance Gauge
N/A
N/A8.5 µs
slice[32]
benches/bench.rs::benches::bench_slice
CodSpeed Performance Gauge
N/A
N/A9.8 µs
slice[16]
benches/bench.rs::benches::bench_slice
CodSpeed Performance Gauge
N/A
N/A9.8 µs
pack[16]
benches/bench.rs::benches::bench_pack
CodSpeed Performance Gauge
N/A
N/A9.5 µs
pack[32]
benches/bench.rs::benches::bench_pack
CodSpeed Performance Gauge
N/A
N/A11.5 µs
pack_to[16]
benches/bench.rs::benches::bench_pack
CodSpeed Performance Gauge
N/A
N/A20.6 µs
pack[64]
benches/bench.rs::benches::bench_pack
CodSpeed Performance Gauge
N/A
N/A15.5 µs
pack_to[32]
benches/bench.rs::benches::bench_pack
CodSpeed Performance Gauge
N/A
N/A25.1 µs
pack_to[8]
benches/bench.rs::benches::bench_pack
CodSpeed Performance Gauge
N/A
N/A18.5 µs
pack_to[4]
benches/bench.rs::benches::bench_pack
CodSpeed Performance Gauge
N/A
N/A17.5 µs
get_byte[64]
benches/bench.rs::benches::bench_get_byte
CodSpeed Performance Gauge
N/A
N/A3.3 µs
get_byte_unchecked[8]
benches/bench.rs::benches::bench_get_byte
CodSpeed Performance Gauge
N/A
N/A3.2 µs
get_byte[32]
benches/bench.rs::benches::bench_get_byte
CodSpeed Performance Gauge
N/A
N/A3.3 µs
get_byte_unchecked[64]
benches/bench.rs::benches::bench_get_byte
CodSpeed Performance Gauge
N/A
N/A3.2 µs
get_byte[16]
benches/bench.rs::benches::bench_get_byte
CodSpeed Performance Gauge
N/A
N/A3.3 µs
get_byte_unchecked[16]
benches/bench.rs::benches::bench_get_byte
CodSpeed Performance Gauge
N/A
N/A3.2 µs
get_byte_unchecked[32]
benches/bench.rs::benches::bench_get_byte
CodSpeed Performance Gauge
N/A
N/A3.2 µs
get_byte[8]
benches/bench.rs::benches::bench_get_byte
CodSpeed Performance Gauge
N/A
N/A3.3 µs

Passed

truncate[16]
benches/bench.rs::benches::bench_truncate
CodSpeed Performance Gauge
N/A
< 1 ns5.9 µs
clear[32]
benches/bench.rs::benches::bench_clear
CodSpeed Performance Gauge
N/A
< 1 ns5.3 µs
truncate[8]
benches/bench.rs::benches::bench_truncate
CodSpeed Performance Gauge
N/A
< 1 ns6 µs
clear[8]
benches/bench.rs::benches::bench_clear
CodSpeed Performance Gauge
N/A
< 1 ns5.4 µs
clear[16]
benches/bench.rs::benches::bench_clear
CodSpeed Performance Gauge
N/A
< 1 ns5.3 µs
truncate[64]
benches/bench.rs::benches::bench_truncate
CodSpeed Performance Gauge
N/A
< 1 ns5.9 µs
truncate[32]
benches/bench.rs::benches::bench_truncate
CodSpeed Performance Gauge
N/A
< 1 ns5.9 µs
clear[64]
benches/bench.rs::benches::bench_clear
CodSpeed Performance Gauge
N/A
< 1 ns5.3 µs

Commits

Click on a commit to change the comparison range
Base
main
866d3f7
-63.71%
fix: generate random inputs for each benchmark iteration Previously benchmarks reused the same static data for all iterations, which could lead to unrealistic performance measurements due to cache effects and lack of input variation. Changes: - Add rand dependency for random data generation - Replace static data setup with iter_batched pattern - Generate fresh random inputs for each benchmark iteration - Update all 20+ benchmark functions to use random inputs - Remove unused helper functions This ensures more realistic and robust performance measurements by testing with varied inputs on each iteration. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
98b6d0e
4 months ago
by shekhirin
0%
fmt
0a3f472
4 months ago
by shekhirin
-34.78%
use square brackets in bench names
a4c8884
4 months ago
by shekhirin
© 2025 CodSpeed Technology
Home Terms Privacy Docs