paradigmxyz
reth
BlogDocsChangelog

perf(trie): add `has_non_zero` flag to `HashedStorageSorted` for O(1) emptiness checks

#21496
Comparing
figtracer:perf/is-storage-empty-optimization
(
b86d133
) with
main
(
1ca62d0
)
CodSpeed Performance Gauge
0%
Untouched
118
Skipped
7

Benchmarks

125 total
fold_reduce[100]
crates/trie/common/benches/hashed_state.rs::benches::bench_from_parallel_iterator::HashedPostState::from_par_iter
CodSpeed Performance Gauge
+3%
166.1 µs160.6 µs
fold_reduce[50000]
crates/trie/common/benches/hashed_state.rs::benches::bench_from_parallel_iterator::HashedPostState::from_par_iter
CodSpeed Performance Gauge
+2%
73.3 ms71.5 ms
V2[dataset_1024/targets_2048]
crates/trie/trie/benches/proof_v2.rs::proof_comparison::bench_proof_algos::Proof
CodSpeed Performance Gauge
+2%
11.6 ms11.4 ms
V2[dataset_1024/targets_512]
crates/trie/trie/benches/proof_v2.rs::proof_comparison::bench_proof_algos::Proof
CodSpeed Performance Gauge
+1%
11 ms10.9 ms
prefix set | size: 10 | `BTreeSet` with `BTreeSet:range` lookup
crates/trie/common/benches/prefix_set.rs::prefix_set::prefix_set_lookups::Prefix Set Lookups
CodSpeed Performance Gauge
+1%
5.2 µs5.1 µs
validate_blob | num blobs: 2 | ValidateBlob
crates/primitives/benches/validate_blob_tx.rs::validate_blob::blob_validation::Blob Transaction KZG validation
CodSpeed Performance Gauge
0%
150 µs149.4 µs
Legacy[dataset_1024/targets_16]
crates/trie/trie/benches/proof_v2.rs::proof_comparison::bench_proof_algos::Proof
CodSpeed Performance Gauge
0%
10.7 ms10.7 ms
V2[dataset_1024/targets_16]
crates/trie/trie/benches/proof_v2.rs::proof_comparison::bench_proof_algos::Proof
CodSpeed Performance Gauge
0%
10.5 ms10.5 ms
fold_reduce[1000]
crates/trie/common/benches/hashed_state.rs::benches::bench_from_parallel_iterator::HashedPostState::from_par_iter
CodSpeed Performance Gauge
0%
1.4 ms1.4 ms
validate_blob | num blobs: 6 | ValidateBlob
crates/primitives/benches/validate_blob_tx.rs::validate_blob::blob_validation::Blob Transaction KZG validation
CodSpeed Performance Gauge
0%
155.1 µs154.7 µs
sparse trie[1000]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves::calculate root from leaves
CodSpeed Performance Gauge
0%
5.7 ms5.6 ms
hash builder[1000]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves::calculate root from leaves
CodSpeed Performance Gauge
0%
4.5 ms4.4 ms
hash builder[init size 10000 | update size 1000 | num updates 3]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated
CodSpeed Performance Gauge
0%
80.5 ms80.3 ms
validate_blob | num blobs: 5 | ValidateBlob
crates/primitives/benches/validate_blob_tx.rs::validate_blob::blob_validation::Blob Transaction KZG validation
CodSpeed Performance Gauge
0%
153.6 µs153.3 µs
sparse trie[init size 1000 | update size 1000 | num updates 3]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated
CodSpeed Performance Gauge
0%
15 ms14.9 ms
V2[dataset_1024/targets_64]
crates/trie/trie/benches/proof_v2.rs::proof_comparison::bench_proof_algos::Proof
CodSpeed Performance Gauge
0%
10.6 ms10.5 ms
Legacy[dataset_1024/targets_64]
crates/trie/trie/benches/proof_v2.rs::proof_comparison::bench_proof_algos::Proof
CodSpeed Performance Gauge
0%
11.4 ms11.4 ms
Legacy[dataset_1024/targets_128]
crates/trie/trie/benches/proof_v2.rs::proof_comparison::bench_proof_algos::Proof
CodSpeed Performance Gauge
0%
12.2 ms12.1 ms
V2[dataset_1024/targets_128]
crates/trie/trie/benches/proof_v2.rs::proof_comparison::bench_proof_algos::Proof
CodSpeed Performance Gauge
0%
10.6 ms10.6 ms
collect_twice[10000]
crates/trie/common/benches/hashed_state.rs::benches::bench_from_parallel_iterator::HashedPostState::from_par_iter
CodSpeed Performance Gauge
0%
6.9 ms6.8 ms
Legacy[dataset_10240/targets_64]
crates/trie/trie/benches/proof_v2.rs::proof_comparison::bench_proof_algos::Proof
CodSpeed Performance Gauge
0%
645.7 ms644.4 ms
V2[dataset_10240/targets_64]
crates/trie/trie/benches/proof_v2.rs::proof_comparison::bench_proof_algos::Proof
CodSpeed Performance Gauge
0%
637.2 ms636 ms
Legacy[dataset_1024/targets_1]
crates/trie/trie/benches/proof_v2.rs::proof_comparison::bench_proof_algos::Proof
CodSpeed Performance Gauge
0%
10.5 ms10.5 ms
V2[dataset_1024/targets_1]
crates/trie/trie/benches/proof_v2.rs::proof_comparison::bench_proof_algos::Proof
CodSpeed Performance Gauge
0%
10.4 ms10.4 ms
sparse trie[init size 1000 | update size 1000 | num updates 1]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated
CodSpeed Performance Gauge
0%
5.1 ms5.1 ms

Commits

Click on a commit to change the comparison range
Base
main
1ca62d0
-0.25%
perf(trie): add has_non_zero flag to HashedStorageSorted for O(1) emptiness checks
b86d133
2 hours ago
by figtracer
© 2026 CodSpeed Technology
Home Terms Privacy Docs