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

Benchmarks

Failed

get_byte_unchecked[16]
benches/bench.rs::benches::bench_get_byte::get_byte
Regression
CodSpeed Performance Gauge
-10%
250.3 ns279.4 ns
get_byte_unchecked[8]
benches/bench.rs::benches::bench_get_byte::get_byte
Regression
CodSpeed Performance Gauge
-13%
194.7 ns223.9 ns
pack[32]
benches/bench.rs::benches::bench_pack::pack
Regression
CodSpeed Performance Gauge
-11%
463.1 ns521.4 ns
unpack[4]
benches/bench.rs::benches::bench_unpack
Regression
CodSpeed Performance Gauge
-17%
276.1 ns334.4 ns
unpack[32]
benches/bench.rs::benches::bench_unpack
Regression
CodSpeed Performance Gauge
-17%
278.1 ns336.4 ns
unpack[8]
benches/bench.rs::benches::bench_unpack
Regression
CodSpeed Performance Gauge
-17%
279.2 ns337.5 ns
unpack[16]
benches/bench.rs::benches::bench_unpack
Regression
CodSpeed Performance Gauge
-18%
274.2 ns332.5 ns
push[8]
benches/bench.rs::benches::bench_push
Regression
CodSpeed Performance Gauge
-10%
261.9 ns291.1 ns
common_prefix_length[16]
benches/bench.rs::benches::bench_common_prefix_length
Regression
CodSpeed Performance Gauge
-12%
213.6 ns242.8 ns
common_prefix_length[8]
benches/bench.rs::benches::bench_common_prefix_length
Regression
CodSpeed Performance Gauge
-12%
213.6 ns242.8 ns
nybbles[64]
benches/bench.rs::benches::nibbles_benchmark::pack
Regression
CodSpeed Performance Gauge
-11%
463.1 ns521.4 ns
set_at[8]
benches/bench.rs::benches::bench_set_at
Regression
CodSpeed Performance Gauge
-12%
213.6 ns242.8 ns
ends_with[64]
benches/bench.rs::benches::bench_ends_with
Regression
CodSpeed Performance Gauge
-15%
342.2 ns402.2 ns
last[32]
benches/bench.rs::benches::bench_last
Regression
CodSpeed Performance Gauge
-19%
123.1 ns152.2 ns

Improved

extend[32]
benches/bench.rs::benches::bench_extend
CodSpeed Performance Gauge
+33%
467.2 ns350.6 ns
extend[16]
benches/bench.rs::benches::bench_extend
CodSpeed Performance Gauge
+33%
471.4 ns354.7 ns
extend[8]
benches/bench.rs::benches::bench_extend
CodSpeed Performance Gauge
+33%
474.2 ns357.5 ns
nybbles[16]
benches/bench.rs::benches::nibbles_benchmark::unpack
CodSpeed Performance Gauge
+12%
274.4 ns245.3 ns
starts_with[64]
benches/bench.rs::benches::bench_starts_with
CodSpeed Performance Gauge
+12%
276.4 ns247.2 ns
starts_with[32]
benches/bench.rs::benches::bench_starts_with
CodSpeed Performance Gauge
+12%
276.4 ns247.2 ns
starts_with[8]
benches/bench.rs::benches::bench_starts_with
CodSpeed Performance Gauge
+12%
276.4 ns247.2 ns
starts_with[16]
benches/bench.rs::benches::bench_starts_with
CodSpeed Performance Gauge
+12%
276.4 ns247.2 ns
nybbles[32]
benches/bench.rs::benches::nibbles_benchmark::unpack
CodSpeed Performance Gauge
+12%
278.3 ns249.2 ns
to_end[32]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
+11%
283.1 ns253.9 ns
to_end[64]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
+11%
283.1 ns253.9 ns
to_end[8]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
+11%
290 ns260.8 ns
to_end[16]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
+11%
290 ns260.8 ns

New

default[8]
benches/bench.rs::benches::bench_hash::hash
CodSpeed Performance Gauge
N/A
N/A619.7 ns
foldhash[32]
benches/bench.rs::benches::bench_hash::hash
CodSpeed Performance Gauge
N/A
N/A337.8 ns
lookup_foldhash[8]
benches/bench.rs::benches::bench_hashmap::hashmap
CodSpeed Performance Gauge
N/A
N/A8.2 µs
foldhash[64]
benches/bench.rs::benches::bench_hash::hash
CodSpeed Performance Gauge
N/A
N/A337.8 ns
foldhash[16]
benches/bench.rs::benches::bench_hash::hash
CodSpeed Performance Gauge
N/A
N/A337.8 ns
insert_foldhash[8]
benches/bench.rs::benches::bench_hashmap::hashmap
CodSpeed Performance Gauge
N/A
N/A21.8 µs
default[32]
benches/bench.rs::benches::bench_hash::hash
CodSpeed Performance Gauge
N/A
N/A619.7 ns
lookup_default[16]
benches/bench.rs::benches::bench_hashmap::hashmap
CodSpeed Performance Gauge
N/A
N/A18.2 µs
lookup_default[8]
benches/bench.rs::benches::bench_hashmap::hashmap
CodSpeed Performance Gauge
N/A
N/A18 µs
foldhash[8]
benches/bench.rs::benches::bench_hash::hash
CodSpeed Performance Gauge
N/A
N/A337.8 ns
default[16]
benches/bench.rs::benches::bench_hash::hash
CodSpeed Performance Gauge
N/A
N/A619.7 ns
insert_default[8]
benches/bench.rs::benches::bench_hashmap::hashmap
CodSpeed Performance Gauge
N/A
N/A42.1 µs
lookup_foldhash[16]
benches/bench.rs::benches::bench_hashmap::hashmap
CodSpeed Performance Gauge
N/A
N/A8.3 µs
insert_default[16]
benches/bench.rs::benches::bench_hashmap::hashmap
CodSpeed Performance Gauge
N/A
N/A42.1 µs
lookup_default[32]
benches/bench.rs::benches::bench_hashmap::hashmap
CodSpeed Performance Gauge
N/A
N/A18 µs
insert_foldhash[32]
benches/bench.rs::benches::bench_hashmap::hashmap
CodSpeed Performance Gauge
N/A
N/A22.4 µs
default[64]
benches/bench.rs::benches::bench_hash::hash
CodSpeed Performance Gauge
N/A
N/A619.7 ns
lookup_default[64]
benches/bench.rs::benches::bench_hashmap::hashmap
CodSpeed Performance Gauge
N/A
N/A18.1 µs
insert_foldhash[16]
benches/bench.rs::benches::bench_hashmap::hashmap
CodSpeed Performance Gauge
N/A
N/A21.8 µs
insert_foldhash[64]
benches/bench.rs::benches::bench_hashmap::hashmap
CodSpeed Performance Gauge
N/A
N/A21.9 µs
lookup_foldhash[32]
benches/bench.rs::benches::bench_hashmap::hashmap
CodSpeed Performance Gauge
N/A
N/A8.2 µs
lookup_foldhash[64]
benches/bench.rs::benches::bench_hashmap::hashmap
CodSpeed Performance Gauge
N/A
N/A8.2 µs
insert_default[32]
benches/bench.rs::benches::bench_hashmap::hashmap
CodSpeed Performance Gauge
N/A
N/A42.5 µs
insert_default[64]
benches/bench.rs::benches::bench_hashmap::hashmap
CodSpeed Performance Gauge
N/A
N/A42.6 µs

Passed

pack_to[32]
benches/bench.rs::benches::bench_pack::pack
CodSpeed Performance Gauge
+9%
370.3 ns341.1 ns
from_nibbles[64]
benches/bench.rs::benches::bench_from_nibbles
CodSpeed Performance Gauge
+4%
755.3 ns723.6 ns
naive[4]
benches/bench.rs::benches::nibbles_benchmark::unpack
CodSpeed Performance Gauge
+2%
1.5 µs1.5 µs
naive[8]
benches/bench.rs::benches::nibbles_benchmark::unpack
CodSpeed Performance Gauge
+2%
1.5 µs1.5 µs
from_nibbles[16]
benches/bench.rs::benches::bench_from_nibbles
CodSpeed Performance Gauge
+2%
406.1 ns398.6 ns
naive[16]
benches/bench.rs::benches::nibbles_benchmark::unpack
CodSpeed Performance Gauge
+2%
1.6 µs1.6 µs
from_nibbles[8]
benches/bench.rs::benches::bench_from_nibbles
CodSpeed Performance Gauge
0%
352.8 ns352.8 ns
truncate[16]
benches/bench.rs::benches::bench_truncate
CodSpeed Performance Gauge
0%
61.7 ns61.7 ns
get_byte[16]
benches/bench.rs::benches::bench_get_byte::get_byte
CodSpeed Performance Gauge
0%
436.4 ns436.4 ns
truncate[32]
benches/bench.rs::benches::bench_truncate
CodSpeed Performance Gauge
0%
61.7 ns61.7 ns
pack_to[8]
benches/bench.rs::benches::bench_pack::pack
CodSpeed Performance Gauge
0%
311.1 ns311.1 ns
pack_to[4]
benches/bench.rs::benches::bench_pack::pack
CodSpeed Performance Gauge
0%
308.1 ns308.1 ns
get_byte[8]
benches/bench.rs::benches::bench_get_byte::get_byte
CodSpeed Performance Gauge
0%
344.2 ns344.2 ns
pack_to[16]
benches/bench.rs::benches::bench_pack::pack
CodSpeed Performance Gauge
0%
317.2 ns317.2 ns
truncate[64]
benches/bench.rs::benches::bench_truncate
CodSpeed Performance Gauge
0%
61.7 ns61.7 ns
common_prefix_length[64]
benches/bench.rs::benches::bench_common_prefix_length
CodSpeed Performance Gauge
0%
366.4 ns366.4 ns
get_byte[32]
benches/bench.rs::benches::bench_get_byte::get_byte
CodSpeed Performance Gauge
0%
620.8 ns620.8 ns
common_prefix_length[32]
benches/bench.rs::benches::bench_common_prefix_length
CodSpeed Performance Gauge
0%
366.4 ns366.4 ns
cmp[64]
benches/bench.rs::benches::bench_cmp
CodSpeed Performance Gauge
0%
215.6 ns215.6 ns
get_byte[64]
benches/bench.rs::benches::bench_get_byte::get_byte
CodSpeed Performance Gauge
0%
989.7 ns989.7 ns
nybbles[4]
benches/bench.rs::benches::nibbles_benchmark::unpack
CodSpeed Performance Gauge
0%
247.2 ns247.2 ns
from_nibbles[32]
benches/bench.rs::benches::bench_from_nibbles
CodSpeed Performance Gauge
-1%
502.8 ns510.3 ns
set_at[16]
benches/bench.rs::benches::bench_set_at
CodSpeed Performance Gauge
-10%
276.9 ns306.1 ns
clear[16]
benches/bench.rs::benches::bench_clear
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns
clear[8]
benches/bench.rs::benches::bench_clear
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns
get_byte_unchecked[32]
benches/bench.rs::benches::bench_get_byte::get_byte
CodSpeed Performance Gauge
0%
390.6 ns390.6 ns
nybbles[8]
benches/bench.rs::benches::nibbles_benchmark::unpack
CodSpeed Performance Gauge
0%
250.3 ns250.3 ns
cmp[16]
benches/bench.rs::benches::bench_cmp
CodSpeed Performance Gauge
0%
215.6 ns215.6 ns
set_at[64]
benches/bench.rs::benches::bench_set_at
CodSpeed Performance Gauge
-4%
656.9 ns686.1 ns
get_byte_unchecked[64]
benches/bench.rs::benches::bench_get_byte::get_byte
CodSpeed Performance Gauge
-5%
612.8 ns641.9 ns
push[64]
benches/bench.rs::benches::bench_push
CodSpeed Performance Gauge
-5%
653.3 ns688.1 ns
push[32]
benches/bench.rs::benches::bench_push
CodSpeed Performance Gauge
-6%
413.6 ns440 ns
pack[16]
benches/bench.rs::benches::bench_pack::pack
CodSpeed Performance Gauge
-6%
439.2 ns468.3 ns
pack[4]
benches/bench.rs::benches::bench_pack::pack
CodSpeed Performance Gauge
-6%
430 ns459.2 ns
clear[32]
benches/bench.rs::benches::bench_clear
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns
pack[8]
benches/bench.rs::benches::bench_pack::pack
CodSpeed Performance Gauge
-6%
433.1 ns462.2 ns
clear[64]
benches/bench.rs::benches::bench_clear
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns
nybbles[16]
benches/bench.rs::benches::nibbles_benchmark::pack
CodSpeed Performance Gauge
-6%
433.1 ns462.2 ns
set_at[32]
benches/bench.rs::benches::bench_set_at
CodSpeed Performance Gauge
-7%
403.6 ns432.8 ns
push[16]
benches/bench.rs::benches::bench_push
CodSpeed Performance Gauge
-9%
312.5 ns344.4 ns
clone[16]
benches/bench.rs::benches::bench_clone
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns
clone[32]
benches/bench.rs::benches::bench_clone
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns
ends_with[8]
benches/bench.rs::benches::bench_ends_with
CodSpeed Performance Gauge
+9%
368.9 ns339.7 ns
join[32]
benches/bench.rs::benches::bench_join
CodSpeed Performance Gauge
+8%
409.7 ns380.6 ns
join[16]
benches/bench.rs::benches::bench_join
CodSpeed Performance Gauge
+8%
413.9 ns384.7 ns
join[8]
benches/bench.rs::benches::bench_join
CodSpeed Performance Gauge
+8%
416.7 ns387.5 ns
from_start[8]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
+7%
430 ns400.8 ns
from_start[32]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
+7%
430 ns400.8 ns
from_start[64]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
+7%
430 ns400.8 ns
pop[16]
benches/bench.rs::benches::bench_pop
CodSpeed Performance Gauge
+5%
652.2 ns623.1 ns
cmp[8]
benches/bench.rs::benches::bench_cmp
CodSpeed Performance Gauge
0%
215.6 ns215.6 ns
cmp[32]
benches/bench.rs::benches::bench_cmp
CodSpeed Performance Gauge
0%
215.6 ns215.6 ns
naive[32]
benches/bench.rs::benches::nibbles_benchmark::unpack
CodSpeed Performance Gauge
-1%
1.7 µs1.7 µs
naive[32]
benches/bench.rs::benches::nibbles_benchmark::pack
CodSpeed Performance Gauge
-2%
1.6 µs1.6 µs
naive[16]
benches/bench.rs::benches::nibbles_benchmark::pack
CodSpeed Performance Gauge
-2%
1.5 µs1.6 µs
naive[8]
benches/bench.rs::benches::nibbles_benchmark::pack
CodSpeed Performance Gauge
-2%
1.5 µs1.5 µs
clone[8]
benches/bench.rs::benches::bench_clone
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns
from_start[16]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
+7%
430 ns400.8 ns
pop[8]
benches/bench.rs::benches::bench_pop
CodSpeed Performance Gauge
+6%
503.3 ns474.2 ns
pop[32]
benches/bench.rs::benches::bench_pop
CodSpeed Performance Gauge
+3%
1,021.1 ns991.9 ns
pop[64]
benches/bench.rs::benches::bench_pop
CodSpeed Performance Gauge
+2%
2 µs1.9 µs
join[64]
benches/bench.rs::benches::bench_join
CodSpeed Performance Gauge
0%
276.7 ns276.7 ns
ends_with[16]
benches/bench.rs::benches::bench_ends_with
CodSpeed Performance Gauge
0%
342.2 ns342.2 ns
first[8]
benches/bench.rs::benches::bench_first
CodSpeed Performance Gauge
0%
120.3 ns120.3 ns
first[16]
benches/bench.rs::benches::bench_first
CodSpeed Performance Gauge
0%
120.3 ns120.3 ns
first[64]
benches/bench.rs::benches::bench_first
CodSpeed Performance Gauge
0%
120.3 ns120.3 ns
truncate[8]
benches/bench.rs::benches::bench_truncate
CodSpeed Performance Gauge
0%
61.7 ns61.7 ns
last[8]
benches/bench.rs::benches::bench_last
CodSpeed Performance Gauge
0%
152.2 ns152.2 ns
last[64]
benches/bench.rs::benches::bench_last
CodSpeed Performance Gauge
0%
123.1 ns123.1 ns
first[32]
benches/bench.rs::benches::bench_first
CodSpeed Performance Gauge
0%
120.3 ns120.3 ns
last[16]
benches/bench.rs::benches::bench_last
CodSpeed Performance Gauge
0%
152.2 ns152.2 ns
ends_with[32]
benches/bench.rs::benches::bench_ends_with
CodSpeed Performance Gauge
-1%
342.2 ns345 ns
naive[64]
benches/bench.rs::benches::nibbles_benchmark::pack
CodSpeed Performance Gauge
-3%
1.6 µs1.7 µs
nybbles[32]
benches/bench.rs::benches::nibbles_benchmark::pack
CodSpeed Performance Gauge
-6%
439.2 ns468.3 ns
nybbles[8]
benches/bench.rs::benches::nibbles_benchmark::pack
CodSpeed Performance Gauge
-6%
430 ns459.2 ns
increment[8]
benches/bench.rs::benches::bench_increment
CodSpeed Performance Gauge
-8%
336.7 ns365.8 ns
increment[64]
benches/bench.rs::benches::bench_increment
CodSpeed Performance Gauge
-8%
336.7 ns365.8 ns
increment[32]
benches/bench.rs::benches::bench_increment
CodSpeed Performance Gauge
-8%
336.7 ns365.8 ns
increment[16]
benches/bench.rs::benches::bench_increment
CodSpeed Performance Gauge
-8%
336.7 ns365.8 ns
middle[8]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
-10%
543.1 ns601.4 ns
middle[16]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
-10%
543.1 ns601.4 ns
middle[32]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
-10%
543.1 ns601.4 ns
middle[64]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
-10%
538.3 ns596.7 ns
clone[64]
benches/bench.rs::benches::bench_clone
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns

Commits

Click on a commit to change the comparison range
Base
main
53ed266
-19.16%
simplify
cae2b80
4 months ago
by shekhirin
-12.95%
Add default hasher benchmark alongside foldhash 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
373baa6
4 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
4 months ago
by shekhirin
+12.95%
insert more
acd92c8
4 months ago
by shekhirin
© 2025 CodSpeed Technology
Home Terms Privacy Docs