alloy-rs
nybbles
BlogDocsChangelog

fix: Serde serialize/deserialize

#36Merged
Comparing
mediocregopher:mediocregopher/serde
(
ba02845
) with
main
(
6a4191c
)
CodSpeed Performance Gauge
-36%
Improvements
22
Regressions
8
Untouched
81

Benchmarks

Failed

set_at[8]
benches/bench.rs::benches::bench_set_at
Regression
CodSpeed Performance Gauge
-12%
213.6 ns242.8 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
ends_with[32]
benches/bench.rs::benches::bench_ends_with
Regression
CodSpeed Performance Gauge
-20%
345 ns432.5 ns
ends_with[8]
benches/bench.rs::benches::bench_ends_with
Regression
CodSpeed Performance Gauge
-20%
339.7 ns427.2 ns
ends_with[64]
benches/bench.rs::benches::bench_ends_with
Regression
CodSpeed Performance Gauge
-36%
313.1 ns489.7 ns
ends_with[16]
benches/bench.rs::benches::bench_ends_with
Regression
CodSpeed Performance Gauge
-19%
374.4 ns461.9 ns
join[64]
benches/bench.rs::benches::bench_join
Regression
CodSpeed Performance Gauge
-26%
247.5 ns335 ns

Improved

first[16]
benches/bench.rs::benches::bench_first
CodSpeed Performance Gauge
+32%
120.3 ns91.1 ns
first[32]
benches/bench.rs::benches::bench_first
CodSpeed Performance Gauge
+32%
120.3 ns91.1 ns
first[8]
benches/bench.rs::benches::bench_first
CodSpeed Performance Gauge
+32%
120.3 ns91.1 ns
first[64]
benches/bench.rs::benches::bench_first
CodSpeed Performance Gauge
+32%
120.3 ns91.1 ns
nybbles[4]
benches/bench.rs::benches::nibbles_benchmark::unpack
CodSpeed Performance Gauge
+27%
276.4 ns218.1 ns
nybbles[8]
benches/bench.rs::benches::nibbles_benchmark::unpack
CodSpeed Performance Gauge
+26%
279.4 ns221.1 ns
push[8]
benches/bench.rs::benches::bench_push
CodSpeed Performance Gauge
+24%
288.3 ns232.8 ns
last[16]
benches/bench.rs::benches::bench_last
CodSpeed Performance Gauge
+24%
152.2 ns123.1 ns
last[8]
benches/bench.rs::benches::bench_last
CodSpeed Performance Gauge
+24%
152.2 ns123.1 ns
nybbles[32]
benches/bench.rs::benches::nibbles_benchmark::unpack
CodSpeed Performance Gauge
+23%
307.5 ns249.2 ns
to_end[64]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
+23%
312.2 ns253.9 ns
to_end[32]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
+23%
312.2 ns253.9 ns
to_end[16]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
+22%
319.2 ns260.8 ns
to_end[8]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
+22%
319.2 ns260.8 ns
push[16]
benches/bench.rs::benches::bench_push
CodSpeed Performance Gauge
+22%
344.4 ns283.3 ns
from_start[32]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
+17%
400.8 ns342.5 ns
from_start[16]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
+17%
400.8 ns342.5 ns
from_start[64]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
+17%
400.8 ns342.5 ns
from_start[8]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
+17%
400.8 ns342.5 ns
push[32]
benches/bench.rs::benches::bench_push
CodSpeed Performance Gauge
+16%
448.3 ns387.2 ns
push[64]
benches/bench.rs::benches::bench_push
CodSpeed Performance Gauge
+14%
685.3 ns600.6 ns
nybbles[16]
benches/bench.rs::benches::nibbles_benchmark::unpack
CodSpeed Performance Gauge
+12%
274.4 ns245.3 ns

Passed

clear[64]
benches/bench.rs::benches::bench_clear
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns
clear[32]
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
clone[16]
benches/bench.rs::benches::bench_clone
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns
clear[16]
benches/bench.rs::benches::bench_clear
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns
nybbles[8]
benches/bench.rs::benches::nibbles_benchmark::pack
CodSpeed Performance Gauge
+8%
400.8 ns371.7 ns
pack[4]
benches/bench.rs::benches::bench_pack::pack
CodSpeed Performance Gauge
+8%
400.8 ns371.7 ns
nybbles[16]
benches/bench.rs::benches::nibbles_benchmark::pack
CodSpeed Performance Gauge
+8%
403.9 ns374.7 ns
pack[8]
benches/bench.rs::benches::bench_pack::pack
CodSpeed Performance Gauge
+8%
403.9 ns374.7 ns
nybbles[32]
benches/bench.rs::benches::nibbles_benchmark::pack
CodSpeed Performance Gauge
+8%
410 ns380.8 ns
pack[16]
benches/bench.rs::benches::bench_pack::pack
CodSpeed Performance Gauge
+8%
410 ns380.8 ns
get_byte_unchecked[32]
benches/bench.rs::benches::bench_get_byte::get_byte
CodSpeed Performance Gauge
+7%
419.4 ns390.3 ns
nybbles[64]
benches/bench.rs::benches::nibbles_benchmark::pack
CodSpeed Performance Gauge
+7%
463.1 ns433.9 ns
pack[32]
benches/bench.rs::benches::bench_pack::pack
CodSpeed Performance Gauge
+7%
463.1 ns433.9 ns
extend[16]
benches/bench.rs::benches::bench_extend
CodSpeed Performance Gauge
+7%
471.4 ns442.2 ns
extend[8]
benches/bench.rs::benches::bench_extend
CodSpeed Performance Gauge
+7%
474.2 ns445 ns
get_byte_unchecked[64]
benches/bench.rs::benches::bench_get_byte::get_byte
CodSpeed Performance Gauge
+5%
641.7 ns612.5 ns
naive[32]
benches/bench.rs::benches::nibbles_benchmark::pack
CodSpeed Performance Gauge
+4%
1.7 µs1.6 µs
naive[16]
benches/bench.rs::benches::nibbles_benchmark::pack
CodSpeed Performance Gauge
+2%
1.6 µs1.6 µs
from_nibbles[32]
benches/bench.rs::benches::bench_from_nibbles
CodSpeed Performance Gauge
+1%
510.3 ns502.8 ns
from_nibbles[8]
benches/bench.rs::benches::bench_from_nibbles
CodSpeed Performance Gauge
+1%
326.1 ns323.6 ns
pop[16]
benches/bench.rs::benches::bench_pop
CodSpeed Performance Gauge
0%
652.2 ns652.2 ns
clone[32]
benches/bench.rs::benches::bench_clone
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns
naive[64]
benches/bench.rs::benches::nibbles_benchmark::pack
CodSpeed Performance Gauge
+5%
1.8 µs1.7 µs
naive[8]
benches/bench.rs::benches::nibbles_benchmark::pack
CodSpeed Performance Gauge
+2%
1.6 µs1.6 µs
naive[4]
benches/bench.rs::benches::nibbles_benchmark::unpack
CodSpeed Performance Gauge
+2%
1.6 µs1.6 µs
naive[8]
benches/bench.rs::benches::nibbles_benchmark::unpack
CodSpeed Performance Gauge
+2%
1.7 µs1.6 µs
naive[32]
benches/bench.rs::benches::nibbles_benchmark::unpack
CodSpeed Performance Gauge
0%
1.8 µs1.8 µs
pop[8]
benches/bench.rs::benches::bench_pop
CodSpeed Performance Gauge
0%
503.3 ns503.3 ns
clone[64]
benches/bench.rs::benches::bench_clone
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns
pop[32]
benches/bench.rs::benches::bench_pop
CodSpeed Performance Gauge
0%
1.1 µs1.1 µs
cmp[16]
benches/bench.rs::benches::bench_cmp
CodSpeed Performance Gauge
0%
215.6 ns215.6 ns
clone[8]
benches/bench.rs::benches::bench_clone
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns
pop[64]
benches/bench.rs::benches::bench_pop
CodSpeed Performance Gauge
0%
2 µs2 µs
cmp[8]
benches/bench.rs::benches::bench_cmp
CodSpeed Performance Gauge
0%
215.6 ns215.6 ns
unpack[8]
benches/bench.rs::benches::bench_unpack
CodSpeed Performance Gauge
0%
250 ns250 ns
cmp[32]
benches/bench.rs::benches::bench_cmp
CodSpeed Performance Gauge
0%
215.6 ns215.6 ns
cmp[64]
benches/bench.rs::benches::bench_cmp
CodSpeed Performance Gauge
0%
215.6 ns215.6 ns
common_prefix_length[32]
benches/bench.rs::benches::bench_common_prefix_length
CodSpeed Performance Gauge
0%
337.2 ns337.2 ns
naive[16]
benches/bench.rs::benches::nibbles_benchmark::unpack
CodSpeed Performance Gauge
0%
1.7 µs1.7 µs
starts_with[16]
benches/bench.rs::benches::bench_starts_with
CodSpeed Performance Gauge
0%
305.6 ns305.6 ns
extend[32]
benches/bench.rs::benches::bench_extend
CodSpeed Performance Gauge
0%
438.1 ns438.1 ns
truncate[32]
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%
337.2 ns337.2 ns
truncate[64]
benches/bench.rs::benches::bench_truncate
CodSpeed Performance Gauge
0%
61.7 ns61.7 ns
starts_with[32]
benches/bench.rs::benches::bench_starts_with
CodSpeed Performance Gauge
0%
305.6 ns305.6 ns
truncate[16]
benches/bench.rs::benches::bench_truncate
CodSpeed Performance Gauge
0%
61.7 ns61.7 ns
starts_with[64]
benches/bench.rs::benches::bench_starts_with
CodSpeed Performance Gauge
0%
305.6 ns305.6 ns
get_byte[32]
benches/bench.rs::benches::bench_get_byte::get_byte
CodSpeed Performance Gauge
0%
620.8 ns620.8 ns
starts_with[8]
benches/bench.rs::benches::bench_starts_with
CodSpeed Performance Gauge
0%
305.6 ns305.6 ns
unpack[16]
benches/bench.rs::benches::bench_unpack
CodSpeed Performance Gauge
0%
274.2 ns274.2 ns
get_byte[16]
benches/bench.rs::benches::bench_get_byte::get_byte
CodSpeed Performance Gauge
0%
436.4 ns436.4 ns
unpack[4]
benches/bench.rs::benches::bench_unpack
CodSpeed Performance Gauge
0%
246.9 ns246.9 ns
from_nibbles[16]
benches/bench.rs::benches::bench_from_nibbles
CodSpeed Performance Gauge
0%
376.9 ns376.9 ns
get_byte[64]
benches/bench.rs::benches::bench_get_byte::get_byte
CodSpeed Performance Gauge
0%
989.7 ns989.7 ns
truncate[8]
benches/bench.rs::benches::bench_truncate
CodSpeed Performance Gauge
0%
61.7 ns61.7 ns
get_byte[8]
benches/bench.rs::benches::bench_get_byte::get_byte
CodSpeed Performance Gauge
0%
344.2 ns344.2 ns
get_byte_unchecked[16]
benches/bench.rs::benches::bench_get_byte::get_byte
CodSpeed Performance Gauge
0%
279.2 ns279.2 ns
get_byte_unchecked[8]
benches/bench.rs::benches::bench_get_byte::get_byte
CodSpeed Performance Gauge
0%
223.6 ns223.6 ns
join[8]
benches/bench.rs::benches::bench_join
CodSpeed Performance Gauge
0%
416.7 ns416.7 ns
last[64]
benches/bench.rs::benches::bench_last
CodSpeed Performance Gauge
0%
123.1 ns123.1 ns
join[16]
benches/bench.rs::benches::bench_join
CodSpeed Performance Gauge
0%
413.9 ns413.9 ns
pack_to[16]
benches/bench.rs::benches::bench_pack::pack
CodSpeed Performance Gauge
0%
317.2 ns317.2 ns
last[32]
benches/bench.rs::benches::bench_last
CodSpeed Performance Gauge
0%
123.1 ns123.1 ns
unpack[32]
benches/bench.rs::benches::bench_unpack
CodSpeed Performance Gauge
0%
278.1 ns278.1 ns
pack_to[4]
benches/bench.rs::benches::bench_pack::pack
CodSpeed Performance Gauge
0%
308.1 ns308.1 ns
pack_to[8]
benches/bench.rs::benches::bench_pack::pack
CodSpeed Performance Gauge
0%
311.1 ns311.1 ns
from_nibbles[64]
benches/bench.rs::benches::bench_from_nibbles
CodSpeed Performance Gauge
-1%
713.6 ns723.6 ns
set_at[64]
benches/bench.rs::benches::bench_set_at
CodSpeed Performance Gauge
-4%
656.9 ns686.1 ns
middle[32]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
-5%
543.1 ns572.2 ns
middle[16]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
-5%
543.1 ns572.2 ns
middle[8]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
-5%
543.1 ns572.2 ns
middle[64]
benches/bench.rs::benches::bench_slice::slice
CodSpeed Performance Gauge
-5%
538.3 ns567.5 ns
set_at[32]
benches/bench.rs::benches::bench_set_at
CodSpeed Performance Gauge
-7%
403.6 ns432.8 ns
join[32]
benches/bench.rs::benches::bench_join
CodSpeed Performance Gauge
-7%
380.6 ns409.7 ns
pack_to[32]
benches/bench.rs::benches::bench_pack::pack
CodSpeed Performance Gauge
-8%
341.1 ns370.3 ns
increment[32]
benches/bench.rs::benches::bench_increment
CodSpeed Performance Gauge
-9%
307.5 ns336.7 ns
increment[16]
benches/bench.rs::benches::bench_increment
CodSpeed Performance Gauge
-9%
307.5 ns336.7 ns
increment[64]
benches/bench.rs::benches::bench_increment
CodSpeed Performance Gauge
-9%
307.5 ns336.7 ns
increment[8]
benches/bench.rs::benches::bench_increment
CodSpeed Performance Gauge
-9%
307.5 ns336.7 ns
set_at[16]
benches/bench.rs::benches::bench_set_at
CodSpeed Performance Gauge
-10%
276.9 ns306.1 ns

Commits

Click on a commit to change the comparison range
Base
main
6a4191c
-36.07%
Save a vec alloc
787c5f1
29 days ago
by mediocregopher
0%
clippy
78d8fc8
29 days ago
by mediocregopher
0%
Fix ToString error when only serde feature is enabled
ba02845
29 days ago
by mediocregopher
© 2025 CodSpeed Technology
Home Terms Privacy Docs