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

feat: retain proofs of non-target nodes in certain edge-cases.

#109Merged
Comparing
mediocregopher:mediocregopher/17571-leaf-update-removal
(
6732c80
) with
main
(
a54766b
)
CodSpeed Performance Gauge
+7%
Improvements
0
Regressions
0
Untouched
4
New
0
Dropped
0
Ignored
0

Benchmarks

Passed

trie[8]
benches/bench.rs::benches::nibbles_path_encoding::encode_path_leaf::trie[8]
CodSpeed Performance Gauge
+7%
463.3 ns
434.2 ns
trie[16]
benches/bench.rs::benches::nibbles_path_encoding::encode_path_leaf::trie[16]
CodSpeed Performance Gauge
+7%
466.4 ns
437.2 ns
trie[64]
benches/bench.rs::benches::nibbles_path_encoding::encode_path_leaf::trie[64]
CodSpeed Performance Gauge
+7%
466.7 ns
437.5 ns
trie[32]
benches/bench.rs::benches::nibbles_path_encoding::encode_path_leaf::trie[32]
CodSpeed Performance Gauge
+7%
472.5 ns
443.3 ns

Commits

Click on a commit to change the comparison range
Base
main
a54766b
-2%
feat: retain proofs of non-target nodes in certain edge-cases. There are specific edge-cases where it's necessary to retain the proofs for nodes which aren't given in the target set, namely leaf removals which result in the deletion of a branch, and leaf additions which result in the creation of a branch. Documentation of each case is provided in the code at the point it is handled. This change will cause more proofs than are strictly necessary to be retained, because the `target` set we are given does not tell us if paths are added, updated or removed. This extra work is made up for by us not needing to fetch the nodes which would otherwise be missing later down the pipeline, and in benchmarking the overall change comes out very slightly faster.
cfaaac3
1 month ago
by mediocregopher
0%
Don't track removed leaves as non-targets
e0ef480
18 days ago
by mediocregopher
+8%
Fix unnecessary boolean being included
263708f
16 days ago
by mediocregopher
0%
PR feedback
6732c80
5 days ago
by mediocregopher
© 2025 CodSpeed Technology
Home Terms Privacy Docs