Avatar for the alloy-rs user
alloy-rs
nybbles
BlogDocsChangelog

bench: `Hash`

#27
Comparing
bench-improvements
(
acd92c8
) with
main
(
53ed266
)
CodSpeed Performance Gauge
-19%
Improvements
13
Regressions
14
Untouched
84
New
24
Dropped
0
Ignored
0

Benchmarks

Failed

common_prefix_length[16]Regression
benches/bench.rs::benches::bench_common_prefix_length::common_prefix_length[16]
CodSpeed Performance Gauge
-12%
213.6 ns
242.8 ns
common_prefix_length[8]Regression
benches/bench.rs::benches::bench_common_prefix_length::common_prefix_length[8]
CodSpeed Performance Gauge
-12%
213.6 ns
242.8 ns
ends_with[64]Regression
benches/bench.rs::benches::bench_ends_with::ends_with[64]
CodSpeed Performance Gauge
-15%
342.2 ns
402.2 ns
get_byte_unchecked[16]Regression
benches/bench.rs::benches::bench_get_byte::get_byte::get_byte_unchecked[16]
CodSpeed Performance Gauge
-10%
250.3 ns
279.4 ns
get_byte_unchecked[8]Regression
benches/bench.rs::benches::bench_get_byte::get_byte::get_byte_unchecked[8]
CodSpeed Performance Gauge
-13%
194.7 ns
223.9 ns
last[32]Regression
benches/bench.rs::benches::bench_last::last[32]
CodSpeed Performance Gauge
-19%
123.1 ns
152.2 ns
pack[32]Regression
benches/bench.rs::benches::bench_pack::pack::pack[32]
CodSpeed Performance Gauge
-11%
463.1 ns
521.4 ns
push[8]Regression
benches/bench.rs::benches::bench_push::push[8]
CodSpeed Performance Gauge
-10%
261.9 ns
291.1 ns
set_at[8]Regression
benches/bench.rs::benches::bench_set_at::set_at[8]
CodSpeed Performance Gauge
-12%
213.6 ns
242.8 ns
unpack[16]Regression
benches/bench.rs::benches::bench_unpack::unpack[16]
CodSpeed Performance Gauge
-18%
274.2 ns
332.5 ns
unpack[32]Regression
benches/bench.rs::benches::bench_unpack::unpack[32]
CodSpeed Performance Gauge
-17%
278.1 ns
336.4 ns
unpack[4]Regression
benches/bench.rs::benches::bench_unpack::unpack[4]
CodSpeed Performance Gauge
-17%
276.1 ns
334.4 ns
unpack[8]Regression
benches/bench.rs::benches::bench_unpack::unpack[8]
CodSpeed Performance Gauge
-17%
279.2 ns
337.5 ns
nybbles[64]Regression
benches/bench.rs::benches::nibbles_benchmark::pack::nybbles[64]
CodSpeed Performance Gauge
-11%
463.1 ns
521.4 ns

Improved

extend[32]
benches/bench.rs::benches::bench_extend::extend[32]
CodSpeed Performance Gauge
+33%
467.2 ns
350.6 ns
extend[16]
benches/bench.rs::benches::bench_extend::extend[16]
CodSpeed Performance Gauge
+33%
471.4 ns
354.7 ns
extend[8]
benches/bench.rs::benches::bench_extend::extend[8]
CodSpeed Performance Gauge
+33%
474.2 ns
357.5 ns
nybbles[16]
benches/bench.rs::benches::nibbles_benchmark::unpack::nybbles[16]
CodSpeed Performance Gauge
+12%
274.4 ns
245.3 ns
starts_with[16]
benches/bench.rs::benches::bench_starts_with::starts_with[16]
CodSpeed Performance Gauge
+12%
276.4 ns
247.2 ns
starts_with[32]
benches/bench.rs::benches::bench_starts_with::starts_with[32]
CodSpeed Performance Gauge
+12%
276.4 ns
247.2 ns
starts_with[64]
benches/bench.rs::benches::bench_starts_with::starts_with[64]
CodSpeed Performance Gauge
+12%
276.4 ns
247.2 ns
starts_with[8]
benches/bench.rs::benches::bench_starts_with::starts_with[8]
CodSpeed Performance Gauge
+12%
276.4 ns
247.2 ns
nybbles[32]
benches/bench.rs::benches::nibbles_benchmark::unpack::nybbles[32]
CodSpeed Performance Gauge
+12%
278.3 ns
249.2 ns
to_end[32]
benches/bench.rs::benches::bench_slice::slice::to_end[32]
CodSpeed Performance Gauge
+11%
283.1 ns
253.9 ns
to_end[64]
benches/bench.rs::benches::bench_slice::slice::to_end[64]
CodSpeed Performance Gauge
+11%
283.1 ns
253.9 ns
to_end[16]
benches/bench.rs::benches::bench_slice::slice::to_end[16]
CodSpeed Performance Gauge
+11%
290 ns
260.8 ns
to_end[8]
benches/bench.rs::benches::bench_slice::slice::to_end[8]
CodSpeed Performance Gauge
+11%
290 ns
260.8 ns

New

default[16]
benches/bench.rs::benches::bench_hash::hash::default[16]
CodSpeed Performance Gauge
N/A
N/A
619.7 ns
default[32]
benches/bench.rs::benches::bench_hash::hash::default[32]
CodSpeed Performance Gauge
N/A
N/A
619.7 ns
default[64]
benches/bench.rs::benches::bench_hash::hash::default[64]
CodSpeed Performance Gauge
N/A
N/A
619.7 ns
default[8]
benches/bench.rs::benches::bench_hash::hash::default[8]
CodSpeed Performance Gauge
N/A
N/A
619.7 ns
foldhash[16]
benches/bench.rs::benches::bench_hash::hash::foldhash[16]
CodSpeed Performance Gauge
N/A
N/A
337.8 ns
foldhash[32]
benches/bench.rs::benches::bench_hash::hash::foldhash[32]
CodSpeed Performance Gauge
N/A
N/A
337.8 ns
foldhash[64]
benches/bench.rs::benches::bench_hash::hash::foldhash[64]
CodSpeed Performance Gauge
N/A
N/A
337.8 ns
foldhash[8]
benches/bench.rs::benches::bench_hash::hash::foldhash[8]
CodSpeed Performance Gauge
N/A
N/A
337.8 ns
insert_default[16]
benches/bench.rs::benches::bench_hashmap::hashmap::insert_default[16]
CodSpeed Performance Gauge
N/A
N/A
42.1 µs
insert_default[32]
benches/bench.rs::benches::bench_hashmap::hashmap::insert_default[32]
CodSpeed Performance Gauge
N/A
N/A
42.5 µs
insert_default[64]
benches/bench.rs::benches::bench_hashmap::hashmap::insert_default[64]
CodSpeed Performance Gauge
N/A
N/A
42.6 µs
insert_default[8]
benches/bench.rs::benches::bench_hashmap::hashmap::insert_default[8]
CodSpeed Performance Gauge
N/A
N/A
42.1 µs
insert_foldhash[16]
benches/bench.rs::benches::bench_hashmap::hashmap::insert_foldhash[16]
CodSpeed Performance Gauge
N/A
N/A
21.8 µs
insert_foldhash[32]
benches/bench.rs::benches::bench_hashmap::hashmap::insert_foldhash[32]
CodSpeed Performance Gauge
N/A
N/A
22.4 µs
insert_foldhash[64]
benches/bench.rs::benches::bench_hashmap::hashmap::insert_foldhash[64]
CodSpeed Performance Gauge
N/A
N/A
21.9 µs
insert_foldhash[8]
benches/bench.rs::benches::bench_hashmap::hashmap::insert_foldhash[8]
CodSpeed Performance Gauge
N/A
N/A
21.8 µs
lookup_default[16]
benches/bench.rs::benches::bench_hashmap::hashmap::lookup_default[16]
CodSpeed Performance Gauge
N/A
N/A
18.2 µs
lookup_default[32]
benches/bench.rs::benches::bench_hashmap::hashmap::lookup_default[32]
CodSpeed Performance Gauge
N/A
N/A
18 µs
lookup_default[64]
benches/bench.rs::benches::bench_hashmap::hashmap::lookup_default[64]
CodSpeed Performance Gauge
N/A
N/A
18.1 µs
lookup_default[8]
benches/bench.rs::benches::bench_hashmap::hashmap::lookup_default[8]
CodSpeed Performance Gauge
N/A
N/A
18 µs
lookup_foldhash[16]
benches/bench.rs::benches::bench_hashmap::hashmap::lookup_foldhash[16]
CodSpeed Performance Gauge
N/A
N/A
8.3 µs
lookup_foldhash[32]
benches/bench.rs::benches::bench_hashmap::hashmap::lookup_foldhash[32]
CodSpeed Performance Gauge
N/A
N/A
8.2 µs
lookup_foldhash[64]
benches/bench.rs::benches::bench_hashmap::hashmap::lookup_foldhash[64]
CodSpeed Performance Gauge
N/A
N/A
8.2 µs
lookup_foldhash[8]
benches/bench.rs::benches::bench_hashmap::hashmap::lookup_foldhash[8]
CodSpeed Performance Gauge
N/A
N/A
8.2 µs

Passed

clear[16]
benches/bench.rs::benches::bench_clear::clear[16]
CodSpeed Performance Gauge
N/A
< 1 ns
< 1 ns
clear[32]
benches/bench.rs::benches::bench_clear::clear[32]
CodSpeed Performance Gauge
N/A
< 1 ns
< 1 ns
clear[64]
benches/bench.rs::benches::bench_clear::clear[64]
CodSpeed Performance Gauge
N/A
< 1 ns
< 1 ns
clear[8]
benches/bench.rs::benches::bench_clear::clear[8]
CodSpeed Performance Gauge
N/A
< 1 ns
< 1 ns
clone[16]
benches/bench.rs::benches::bench_clone::clone[16]
CodSpeed Performance Gauge
N/A
< 1 ns
< 1 ns
clone[32]
benches/bench.rs::benches::bench_clone::clone[32]
CodSpeed Performance Gauge
N/A
< 1 ns
< 1 ns
clone[64]
benches/bench.rs::benches::bench_clone::clone[64]
CodSpeed Performance Gauge
N/A
< 1 ns
< 1 ns
clone[8]
benches/bench.rs::benches::bench_clone::clone[8]
CodSpeed Performance Gauge
N/A
< 1 ns
< 1 ns
ends_with[8]
benches/bench.rs::benches::bench_ends_with::ends_with[8]
CodSpeed Performance Gauge
+9%
368.9 ns
339.7 ns
pack_to[32]
benches/bench.rs::benches::bench_pack::pack::pack_to[32]
CodSpeed Performance Gauge
+9%
370.3 ns
341.1 ns
join[32]
benches/bench.rs::benches::bench_join::join[32]
CodSpeed Performance Gauge
+8%
409.7 ns
380.6 ns
join[16]
benches/bench.rs::benches::bench_join::join[16]
CodSpeed Performance Gauge
+8%
413.9 ns
384.7 ns
join[8]
benches/bench.rs::benches::bench_join::join[8]
CodSpeed Performance Gauge
+8%
416.7 ns
387.5 ns
from_start[16]
benches/bench.rs::benches::bench_slice::slice::from_start[16]
CodSpeed Performance Gauge
+7%
430 ns
400.8 ns
from_start[32]
benches/bench.rs::benches::bench_slice::slice::from_start[32]
CodSpeed Performance Gauge
+7%
430 ns
400.8 ns
from_start[64]
benches/bench.rs::benches::bench_slice::slice::from_start[64]
CodSpeed Performance Gauge
+7%
430 ns
400.8 ns
from_start[8]
benches/bench.rs::benches::bench_slice::slice::from_start[8]
CodSpeed Performance Gauge
+7%
430 ns
400.8 ns
pop[8]
benches/bench.rs::benches::bench_pop::pop[8]
CodSpeed Performance Gauge
+6%
503.3 ns
474.2 ns
pop[16]
benches/bench.rs::benches::bench_pop::pop[16]
CodSpeed Performance Gauge
+5%
652.2 ns
623.1 ns
from_nibbles[64]
benches/bench.rs::benches::bench_from_nibbles::from_nibbles[64]
CodSpeed Performance Gauge
+4%
755.3 ns
723.6 ns
pop[32]
benches/bench.rs::benches::bench_pop::pop[32]
CodSpeed Performance Gauge
+3%
1,021.1 ns
991.9 ns
naive[4]
benches/bench.rs::benches::nibbles_benchmark::unpack::naive[4]
CodSpeed Performance Gauge
+2%
1.5 µs
1.5 µs
naive[8]
benches/bench.rs::benches::nibbles_benchmark::unpack::naive[8]
CodSpeed Performance Gauge
+2%
1.5 µs
1.5 µs
from_nibbles[16]
benches/bench.rs::benches::bench_from_nibbles::from_nibbles[16]
CodSpeed Performance Gauge
+2%
406.1 ns
398.6 ns
naive[16]
benches/bench.rs::benches::nibbles_benchmark::unpack::naive[16]
CodSpeed Performance Gauge
+2%
1.6 µs
1.6 µs
pop[64]
benches/bench.rs::benches::bench_pop::pop[64]
CodSpeed Performance Gauge
+2%
2 µs
1.9 µs
cmp[16]
benches/bench.rs::benches::bench_cmp::cmp[16]
CodSpeed Performance Gauge
0%
215.6 ns
215.6 ns
cmp[32]
benches/bench.rs::benches::bench_cmp::cmp[32]
CodSpeed Performance Gauge
0%
215.6 ns
215.6 ns
cmp[64]
benches/bench.rs::benches::bench_cmp::cmp[64]
CodSpeed Performance Gauge
0%
215.6 ns
215.6 ns
cmp[8]
benches/bench.rs::benches::bench_cmp::cmp[8]
CodSpeed Performance Gauge
0%
215.6 ns
215.6 ns
common_prefix_length[32]
benches/bench.rs::benches::bench_common_prefix_length::common_prefix_length[32]
CodSpeed Performance Gauge
0%
366.4 ns
366.4 ns
common_prefix_length[64]
benches/bench.rs::benches::bench_common_prefix_length::common_prefix_length[64]
CodSpeed Performance Gauge
0%
366.4 ns
366.4 ns
ends_with[16]
benches/bench.rs::benches::bench_ends_with::ends_with[16]
CodSpeed Performance Gauge
0%
342.2 ns
342.2 ns
first[16]
benches/bench.rs::benches::bench_first::first[16]
CodSpeed Performance Gauge
0%
120.3 ns
120.3 ns
first[32]
benches/bench.rs::benches::bench_first::first[32]
CodSpeed Performance Gauge
0%
120.3 ns
120.3 ns
first[64]
benches/bench.rs::benches::bench_first::first[64]
CodSpeed Performance Gauge
0%
120.3 ns
120.3 ns
first[8]
benches/bench.rs::benches::bench_first::first[8]
CodSpeed Performance Gauge
0%
120.3 ns
120.3 ns
from_nibbles[8]
benches/bench.rs::benches::bench_from_nibbles::from_nibbles[8]
CodSpeed Performance Gauge
0%
352.8 ns
352.8 ns
get_byte[16]
benches/bench.rs::benches::bench_get_byte::get_byte::get_byte[16]
CodSpeed Performance Gauge
0%
436.4 ns
436.4 ns
get_byte[32]
benches/bench.rs::benches::bench_get_byte::get_byte::get_byte[32]
CodSpeed Performance Gauge
0%
620.8 ns
620.8 ns
get_byte[64]
benches/bench.rs::benches::bench_get_byte::get_byte::get_byte[64]
CodSpeed Performance Gauge
0%
989.7 ns
989.7 ns
get_byte[8]
benches/bench.rs::benches::bench_get_byte::get_byte::get_byte[8]
CodSpeed Performance Gauge
0%
344.2 ns
344.2 ns
get_byte_unchecked[32]
benches/bench.rs::benches::bench_get_byte::get_byte::get_byte_unchecked[32]
CodSpeed Performance Gauge
0%
390.6 ns
390.6 ns
join[64]
benches/bench.rs::benches::bench_join::join[64]
CodSpeed Performance Gauge
0%
276.7 ns
276.7 ns
last[16]
benches/bench.rs::benches::bench_last::last[16]
CodSpeed Performance Gauge
0%
152.2 ns
152.2 ns
last[64]
benches/bench.rs::benches::bench_last::last[64]
CodSpeed Performance Gauge
0%
123.1 ns
123.1 ns
last[8]
benches/bench.rs::benches::bench_last::last[8]
CodSpeed Performance Gauge
0%
152.2 ns
152.2 ns
pack_to[16]
benches/bench.rs::benches::bench_pack::pack::pack_to[16]
CodSpeed Performance Gauge
0%
317.2 ns
317.2 ns
pack_to[4]
benches/bench.rs::benches::bench_pack::pack::pack_to[4]
CodSpeed Performance Gauge
0%
308.1 ns
308.1 ns
pack_to[8]
benches/bench.rs::benches::bench_pack::pack::pack_to[8]
CodSpeed Performance Gauge
0%
311.1 ns
311.1 ns
truncate[16]
benches/bench.rs::benches::bench_truncate::truncate[16]
CodSpeed Performance Gauge
0%
61.7 ns
61.7 ns
truncate[32]
benches/bench.rs::benches::bench_truncate::truncate[32]
CodSpeed Performance Gauge
0%
61.7 ns
61.7 ns
truncate[64]
benches/bench.rs::benches::bench_truncate::truncate[64]
CodSpeed Performance Gauge
0%
61.7 ns
61.7 ns
truncate[8]
benches/bench.rs::benches::bench_truncate::truncate[8]
CodSpeed Performance Gauge
0%
61.7 ns
61.7 ns
nybbles[4]
benches/bench.rs::benches::nibbles_benchmark::unpack::nybbles[4]
CodSpeed Performance Gauge
0%
247.2 ns
247.2 ns
nybbles[8]
benches/bench.rs::benches::nibbles_benchmark::unpack::nybbles[8]
CodSpeed Performance Gauge
0%
250.3 ns
250.3 ns
ends_with[32]
benches/bench.rs::benches::bench_ends_with::ends_with[32]
CodSpeed Performance Gauge
-1%
342.2 ns
345 ns
naive[32]
benches/bench.rs::benches::nibbles_benchmark::unpack::naive[32]
CodSpeed Performance Gauge
-1%
1.7 µs
1.7 µs
from_nibbles[32]
benches/bench.rs::benches::bench_from_nibbles::from_nibbles[32]
CodSpeed Performance Gauge
-1%
502.8 ns
510.3 ns
naive[32]
benches/bench.rs::benches::nibbles_benchmark::pack::naive[32]
CodSpeed Performance Gauge
-2%
1.6 µs
1.6 µs
naive[16]
benches/bench.rs::benches::nibbles_benchmark::pack::naive[16]
CodSpeed Performance Gauge
-2%
1.5 µs
1.6 µs
naive[8]
benches/bench.rs::benches::nibbles_benchmark::pack::naive[8]
CodSpeed Performance Gauge
-2%
1.5 µs
1.5 µs
naive[64]
benches/bench.rs::benches::nibbles_benchmark::pack::naive[64]
CodSpeed Performance Gauge
-3%
1.6 µs
1.7 µs
set_at[64]
benches/bench.rs::benches::bench_set_at::set_at[64]
CodSpeed Performance Gauge
-4%
656.9 ns
686.1 ns
get_byte_unchecked[64]
benches/bench.rs::benches::bench_get_byte::get_byte::get_byte_unchecked[64]
CodSpeed Performance Gauge
-5%
612.8 ns
641.9 ns
push[64]
benches/bench.rs::benches::bench_push::push[64]
CodSpeed Performance Gauge
-5%
653.3 ns
688.1 ns
push[32]
benches/bench.rs::benches::bench_push::push[32]
CodSpeed Performance Gauge
-6%
413.6 ns
440 ns
pack[16]
benches/bench.rs::benches::bench_pack::pack::pack[16]
CodSpeed Performance Gauge
-6%
439.2 ns
468.3 ns
nybbles[32]
benches/bench.rs::benches::nibbles_benchmark::pack::nybbles[32]
CodSpeed Performance Gauge
-6%
439.2 ns
468.3 ns
pack[8]
benches/bench.rs::benches::bench_pack::pack::pack[8]
CodSpeed Performance Gauge
-6%
433.1 ns
462.2 ns
nybbles[16]
benches/bench.rs::benches::nibbles_benchmark::pack::nybbles[16]
CodSpeed Performance Gauge
-6%
433.1 ns
462.2 ns
pack[4]
benches/bench.rs::benches::bench_pack::pack::pack[4]
CodSpeed Performance Gauge
-6%
430 ns
459.2 ns
nybbles[8]
benches/bench.rs::benches::nibbles_benchmark::pack::nybbles[8]
CodSpeed Performance Gauge
-6%
430 ns
459.2 ns
set_at[32]
benches/bench.rs::benches::bench_set_at::set_at[32]
CodSpeed Performance Gauge
-7%
403.6 ns
432.8 ns
increment[16]
benches/bench.rs::benches::bench_increment::increment[16]
CodSpeed Performance Gauge
-8%
336.7 ns
365.8 ns
increment[32]
benches/bench.rs::benches::bench_increment::increment[32]
CodSpeed Performance Gauge
-8%
336.7 ns
365.8 ns
increment[64]
benches/bench.rs::benches::bench_increment::increment[64]
CodSpeed Performance Gauge
-8%
336.7 ns
365.8 ns
increment[8]
benches/bench.rs::benches::bench_increment::increment[8]
CodSpeed Performance Gauge
-8%
336.7 ns
365.8 ns
push[16]
benches/bench.rs::benches::bench_push::push[16]
CodSpeed Performance Gauge
-9%
312.5 ns
344.4 ns
set_at[16]
benches/bench.rs::benches::bench_set_at::set_at[16]
CodSpeed Performance Gauge
-10%
276.9 ns
306.1 ns
middle[16]
benches/bench.rs::benches::bench_slice::slice::middle[16]
CodSpeed Performance Gauge
-10%
543.1 ns
601.4 ns
middle[32]
benches/bench.rs::benches::bench_slice::slice::middle[32]
CodSpeed Performance Gauge
-10%
543.1 ns
601.4 ns
middle[8]
benches/bench.rs::benches::bench_slice::slice::middle[8]
CodSpeed Performance Gauge
-10%
543.1 ns
601.4 ns
middle[64]
benches/bench.rs::benches::bench_slice::slice::middle[64]
CodSpeed Performance Gauge
-10%
538.3 ns
596.7 ns

Commits

Click on a commit to change the comparison range
Base
main
53ed266
-19%
simplify
cae2b80
2 months ago
by shekhirin
-13%
Add default hasher benchmark alongside foldhash 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
373baa6
2 months ago
by shekhirin
0%
Add HashMap insertion and lookup benchmarks Benchmarks both default and foldhash hashers for comprehensive HashMap performance testing: - insert_default: HashMap insertion with default hasher - insert_foldhash: HashMap insertion with foldhash - lookup_default: HashMap lookup with default hasher - lookup_foldhash: HashMap lookup with foldhash Results show foldhash is ~2.4x faster for insertion and ~2.1x faster for lookup operations. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
8fee4a4
2 months ago
by shekhirin
+13%
insert more
acd92c8
2 months ago
by shekhirin
© 2025 CodSpeed Technology
Home Terms Privacy Docs