Avatar for the paradigmxyz user
paradigmxyz
reth
BlogDocsChangelog

refactor: introducing index to find hashes pending fetch faster

#15702
Comparing
int88:refactor-fetcher
(
938ef2d
) with
main
(
1e4480a
)
CodSpeed Performance Gauge
0%
Improvements
0
Regressions
0
Untouched
77
New
0
Dropped
0
Ignored
0

Benchmarks

Passed

sparse trie[init size 1000 | update size 1000 | num updates 5]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::sparse trie[init size 1000 | update size 1000 | num updates 5]
CodSpeed Performance Gauge
+1%
27.2 ms
27 ms
hash builder[init size 1000 | update size 100 | num updates 10]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::hash builder[init size 1000 | update size 100 | num updates 10]
CodSpeed Performance Gauge
+1%
25.3 ms
25.1 ms
hash builder[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::hash builder[init size 1000 | update size 1000 | num updates 3]
CodSpeed Performance Gauge
+1%
17.3 ms
17.2 ms
prefix set | size: 10 | `BTreeSet` with `Iterator:any` lookup
crates/trie/common/benches/prefix_set.rs::prefix_set::prefix_set_lookups::Prefix Set Lookups::prefix set | size: 10 | `BTreeSet` with `Iterator:any` lookup
CodSpeed Performance Gauge
+1%
5.2 µs
5.2 µs
sparse trie[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::sparse trie[init size 10000 | update size 1000 | num updates 3]
CodSpeed Performance Gauge
0%
36.8 ms
36.7 ms
hash builder[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::hash builder[init size 1000 | update size 1000 | num updates 1]
CodSpeed Performance Gauge
0%
5.8 ms
5.8 ms
sparse trie[1000]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves::calculate root from leaves::sparse trie[1000]
CodSpeed Performance Gauge
0%
6.4 ms
6.3 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::sparse trie[init size 1000 | update size 1000 | num updates 1]
CodSpeed Performance Gauge
0%
5.6 ms
5.6 ms
sparse trie[init size 10000 | update size 1000 | num updates 1]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::sparse trie[init size 10000 | update size 1000 | num updates 1]
CodSpeed Performance Gauge
0%
12.8 ms
12.7 ms
hash builder[5000]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves::calculate root from leaves::hash builder[5000]
CodSpeed Performance Gauge
0%
22.7 ms
22.6 ms
prefix set | size: 100 | `BTreeSet` with `Iterator:any` lookup
crates/trie/common/benches/prefix_set.rs::prefix_set::prefix_set_lookups::Prefix Set Lookups::prefix set | size: 100 | `BTreeSet` with `Iterator:any` lookup
CodSpeed Performance Gauge
0%
198.9 µs
198.7 µs
parallel hashing[100]
crates/trie/trie/benches/hash_post_state.rs::post_state::hash_post_state::Hash Post State::parallel hashing[100]
CodSpeed Performance Gauge
0%
259 ms
258.8 ms
validate_blob | num blobs: 3 | ValidateBlob
crates/primitives/benches/validate_blob_tx.rs::validate_blob::blob_validation::Blob Transaction KZG validation::validate_blob | num blobs: 3 | ValidateBlob
CodSpeed Performance Gauge
0%
150.8 µs
150.7 µs
sequence hashing[100]
crates/trie/trie/benches/hash_post_state.rs::post_state::hash_post_state::Hash Post State::sequence hashing[100]
CodSpeed Performance Gauge
0%
258.9 ms
258.7 ms
prefix set | size: 1000 | `BTreeSet` with `Iterator:any` lookup
crates/trie/common/benches/prefix_set.rs::prefix_set::prefix_set_lookups::Prefix Set Lookups::prefix set | size: 1000 | `BTreeSet` with `Iterator:any` lookup
CodSpeed Performance Gauge
0%
19.8 ms
19.8 ms
parallel hashing[1000]
crates/trie/trie/benches/hash_post_state.rs::post_state::hash_post_state::Hash Post State::parallel hashing[1000]
CodSpeed Performance Gauge
0%
2.6 s
2.6 s
sparse trie[init size 10000 | update size 100 | num updates 1]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::sparse trie[init size 10000 | update size 100 | num updates 1]
CodSpeed Performance Gauge
0%
2.7 ms
2.7 ms
validate_blob | num blobs: 2 | ValidateBlob
crates/primitives/benches/validate_blob_tx.rs::validate_blob::blob_validation::Blob Transaction KZG validation::validate_blob | num blobs: 2 | ValidateBlob
CodSpeed Performance Gauge
0%
149.5 µs
149.5 µs
prefix set | size: 1000 | `Vec` with binary search lookup
crates/trie/common/benches/prefix_set.rs::prefix_set::prefix_set_lookups::Prefix Set Lookups::prefix set | size: 1000 | `Vec` with binary search lookup
CodSpeed Performance Gauge
0%
294.1 µs
293.9 µs
receipts root | size: 1000 | HashBuilder
crates/trie/trie/benches/trie_root.rs::benches::trie_root_benchmark::Receipts root calculation::receipts root | size: 1000 | HashBuilder
CodSpeed Performance Gauge
0%
9.3 ms
9.2 ms
hash builder[init size 1000 | update size 1000 | num updates 5]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::hash builder[init size 1000 | update size 1000 | num updates 5]
CodSpeed Performance Gauge
0%
28.7 ms
28.7 ms
prefix set | size: 100 | `BTreeSet` with `BTreeSet:range` lookup
crates/trie/common/benches/prefix_set.rs::prefix_set::prefix_set_lookups::Prefix Set Lookups::prefix set | size: 100 | `BTreeSet` with `BTreeSet:range` lookup
CodSpeed Performance Gauge
0%
53.7 µs
53.7 µs
receipts root | size: 10 | HashBuilder
crates/trie/trie/benches/trie_root.rs::benches::trie_root_benchmark::Receipts root calculation::receipts root | size: 10 | HashBuilder
CodSpeed Performance Gauge
0%
117.2 µs
117.1 µs
ordered_trie_root
crates/trie/trie/benches/trie_root.rs::benches::trie_root_benchmark::Receipts root calculation::receipts root | size: 10 | triehash::ordered_trie_root
CodSpeed Performance Gauge
0%
136.8 µs
136.8 µs
validate_blob | num blobs: 4 | ValidateBlob
crates/primitives/benches/validate_blob_tx.rs::validate_blob::blob_validation::Blob Transaction KZG validation::validate_blob | num blobs: 4 | ValidateBlob
CodSpeed Performance Gauge
0%
151.9 µs
151.9 µs
validate_blob | num blobs: 1 | ValidateBlob
crates/primitives/benches/validate_blob_tx.rs::validate_blob::blob_validation::Blob Transaction KZG validation::validate_blob | num blobs: 1 | ValidateBlob
CodSpeed Performance Gauge
0%
149.1 µs
149.1 µs
sparse trie[init size 1000 | update size 100 | num updates 5]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::sparse trie[init size 1000 | update size 100 | num updates 5]
CodSpeed Performance Gauge
0%
6 ms
6 ms
ordered_trie_root
crates/trie/trie/benches/trie_root.rs::benches::trie_root_benchmark::Receipts root calculation::receipts root | size: 100 | triehash::ordered_trie_root
CodSpeed Performance Gauge
0%
1.2 ms
1.2 ms
receipts root | size: 100 | HashBuilder
crates/trie/trie/benches/trie_root.rs::benches::trie_root_benchmark::Receipts root calculation::receipts root | size: 100 | HashBuilder
CodSpeed Performance Gauge
0%
944.7 µs
944.6 µs
validate_blob | num blobs: 6 | ValidateBlob
crates/primitives/benches/validate_blob_tx.rs::validate_blob::blob_validation::Blob Transaction KZG validation::validate_blob | num blobs: 6 | ValidateBlob
CodSpeed Performance Gauge
0%
154.8 µs
154.8 µs
ordered_trie_root
crates/trie/trie/benches/trie_root.rs::benches::trie_root_benchmark::Receipts root calculation::receipts root | size: 1000 | triehash::ordered_trie_root
CodSpeed Performance Gauge
0%
11.9 ms
11.9 ms
sequence hashing[1000]
crates/trie/trie/benches/hash_post_state.rs::post_state::hash_post_state::Hash Post State::sequence hashing[1000]
CodSpeed Performance Gauge
0%
2.6 s
2.6 s
hash builder[init size 1000 | update size 1000 | num updates 10]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::hash builder[init size 1000 | update size 1000 | num updates 10]
CodSpeed Performance Gauge
0%
57.2 ms
57.2 ms
validate_blob | num blobs: 5 | ValidateBlob
crates/primitives/benches/validate_blob_tx.rs::validate_blob::blob_validation::Blob Transaction KZG validation::validate_blob | num blobs: 5 | ValidateBlob
CodSpeed Performance Gauge
0%
153.1 µs
153.1 µs
recover ECDSA
crates/primitives/benches/recover_ecdsa_crit.rs::benches::criterion_benchmark::recover ECDSA
CodSpeed Performance Gauge
0%
206.9 µs
206.9 µs
prefix set | size: 10 | `Vec` with binary search lookup
crates/trie/common/benches/prefix_set.rs::prefix_set::prefix_set_lookups::Prefix Set Lookups::prefix set | size: 10 | `Vec` with binary search lookup
CodSpeed Performance Gauge
0%
4.6 µs
4.6 µs
sparse trie[init size 1000 | update size 100 | num updates 10]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::sparse trie[init size 1000 | update size 100 | num updates 10]
CodSpeed Performance Gauge
0%
12 ms
12 ms
sparse trie[init size 10000 | update size 100 | num updates 5]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::sparse trie[init size 10000 | update size 100 | num updates 5]
CodSpeed Performance Gauge
0%
12.5 ms
12.5 ms
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::sparse trie[init size 1000 | update size 1000 | num updates 3]
CodSpeed Performance Gauge
0%
16.3 ms
16.3 ms
sparse trie[init size 10000 | update size 100 | num updates 10]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::sparse trie[init size 10000 | update size 100 | num updates 10]
CodSpeed Performance Gauge
0%
24.7 ms
24.7 ms
prefix set | size: 1000 | `Vec` with custom cursor lookup
crates/trie/common/benches/prefix_set.rs::prefix_set::prefix_set_lookups::Prefix Set Lookups::prefix set | size: 1000 | `Vec` with custom cursor lookup
CodSpeed Performance Gauge
0%
208.7 µs
208.8 µs
sparse trie[init size 10000 | update size 1000 | num updates 5]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::sparse trie[init size 10000 | update size 1000 | num updates 5]
CodSpeed Performance Gauge
0%
60.7 ms
60.7 ms
prefix set | size: 100 | `Vec` with custom cursor lookup
crates/trie/common/benches/prefix_set.rs::prefix_set::prefix_set_lookups::Prefix Set Lookups::prefix set | size: 100 | `Vec` with custom cursor lookup
CodSpeed Performance Gauge
0%
24.4 µs
24.5 µs
prefix set | size: 1000 | `BTreeSet` with `BTreeSet:range` lookup
crates/trie/common/benches/prefix_set.rs::prefix_set::prefix_set_lookups::Prefix Set Lookups::prefix set | size: 1000 | `BTreeSet` with `BTreeSet:range` lookup
CodSpeed Performance Gauge
0%
599.2 µs
599.6 µs
sparse trie[init size 1000 | update size 100 | num updates 1]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::sparse trie[init size 1000 | update size 100 | num updates 1]
CodSpeed Performance Gauge
0%
1.3 ms
1.3 ms
sparse trie[init size 10000 | update size 100 | num updates 3]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::sparse trie[init size 10000 | update size 100 | num updates 3]
CodSpeed Performance Gauge
0%
7.6 ms
7.6 ms
sparse trie[init size 1000 | update size 100 | num updates 3]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::sparse trie[init size 1000 | update size 100 | num updates 3]
CodSpeed Performance Gauge
0%
3.7 ms
3.7 ms
prefix set | size: 100 | `Vec` with binary search lookup
crates/trie/common/benches/prefix_set.rs::prefix_set::prefix_set_lookups::Prefix Set Lookups::prefix set | size: 100 | `Vec` with binary search lookup
CodSpeed Performance Gauge
0%
29.1 µs
29.2 µs
hash builder[1000]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves::calculate root from leaves::hash builder[1000]
CodSpeed Performance Gauge
0%
4.5 ms
4.6 ms
sparse trie[init size 10000 | update size 1000 | num updates 10]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::sparse trie[init size 10000 | update size 1000 | num updates 10]
CodSpeed Performance Gauge
0%
120.6 ms
121 ms
hash builder[init size 1000 | update size 100 | num updates 5]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::hash builder[init size 1000 | update size 100 | num updates 5]
CodSpeed Performance Gauge
0%
12.5 ms
12.5 ms
hash builder[init size 10000 | update size 1000 | num updates 10]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::hash builder[init size 10000 | update size 1000 | num updates 10]
CodSpeed Performance Gauge
0%
249.6 ms
250.7 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::prefix set | size: 10 | `BTreeSet` with `BTreeSet:range` lookup
CodSpeed Performance Gauge
0%
6.1 µs
6.1 µs
hash builder[init size 1000 | update size 100 | num updates 3]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::hash builder[init size 1000 | update size 100 | num updates 3]
CodSpeed Performance Gauge
0%
7.5 ms
7.6 ms
size 100000 | updated 0.1% | depth 2
crates/trie/sparse/benches/rlp_node.rs::rlp_node::update_rlp_node_level::update rlp node level::size 100000 | updated 0.1% | depth 2
CodSpeed Performance Gauge
0%
3.8 ms
3.8 ms
size 100000 | updated 0.1% | depth 1
crates/trie/sparse/benches/rlp_node.rs::rlp_node::update_rlp_node_level::update rlp node level::size 100000 | updated 0.1% | depth 1
CodSpeed Performance Gauge
-1%
4 ms
4 ms
size 100000 | updated 0.1% | depth 0
crates/trie/sparse/benches/rlp_node.rs::rlp_node::update_rlp_node_level::update rlp node level::size 100000 | updated 0.1% | depth 0
CodSpeed Performance Gauge
-1%
4 ms
4 ms
sparse trie[5000]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves::calculate root from leaves::sparse trie[5000]
CodSpeed Performance Gauge
-1%
31.5 ms
31.7 ms
sparse trie[init size 1000 | update size 1000 | num updates 10]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::sparse trie[init size 1000 | update size 1000 | num updates 10]
CodSpeed Performance Gauge
-1%
53.7 ms
54.1 ms
size 100000 | updated 0.1% | depth 5
crates/trie/sparse/benches/rlp_node.rs::rlp_node::update_rlp_node_level::update rlp node level::size 100000 | updated 0.1% | depth 5
CodSpeed Performance Gauge
-1%
1.3 ms
1.4 ms
hash builder[init size 1000 | update size 100 | num updates 1]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::hash builder[init size 1000 | update size 100 | num updates 1]
CodSpeed Performance Gauge
-1%
2.5 ms
2.6 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::hash builder[init size 10000 | update size 1000 | num updates 3]
CodSpeed Performance Gauge
-1%
77.2 ms
77.8 ms
size 100000 | updated 1% | depth 0
crates/trie/sparse/benches/rlp_node.rs::rlp_node::update_rlp_node_level::update rlp node level::size 100000 | updated 1% | depth 0
CodSpeed Performance Gauge
-1%
26.9 ms
27.2 ms
size 100000 | updated 1% | depth 2
crates/trie/sparse/benches/rlp_node.rs::rlp_node::update_rlp_node_level::update rlp node level::size 100000 | updated 1% | depth 2
CodSpeed Performance Gauge
-1%
26.8 ms
27.1 ms
size 100000 | updated 1% | depth 1
crates/trie/sparse/benches/rlp_node.rs::rlp_node::update_rlp_node_level::update rlp node level::size 100000 | updated 1% | depth 1
CodSpeed Performance Gauge
-1%
27 ms
27.2 ms
size 100000 | updated 1% | depth 4
crates/trie/sparse/benches/rlp_node.rs::rlp_node::update_rlp_node_level::update rlp node level::size 100000 | updated 1% | depth 4
CodSpeed Performance Gauge
-1%
13.2 ms
13.4 ms
size 100000 | updated 1% | depth 3
crates/trie/sparse/benches/rlp_node.rs::rlp_node::update_rlp_node_level::update rlp node level::size 100000 | updated 1% | depth 3
CodSpeed Performance Gauge
-1%
23.9 ms
24.2 ms
hash builder[init size 10000 | update size 1000 | num updates 5]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::hash builder[init size 10000 | update size 1000 | num updates 5]
CodSpeed Performance Gauge
-1%
125.2 ms
127.1 ms
hash builder[init size 10000 | update size 1000 | num updates 1]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::hash builder[init size 10000 | update size 1000 | num updates 1]
CodSpeed Performance Gauge
-2%
26.1 ms
26.5 ms
size 100000 | updated 0.1% | depth 4
crates/trie/sparse/benches/rlp_node.rs::rlp_node::update_rlp_node_level::update rlp node level::size 100000 | updated 0.1% | depth 4
CodSpeed Performance Gauge
-2%
1.6 ms
1.7 ms
size 100000 | updated 0.1% | depth 3
crates/trie/sparse/benches/rlp_node.rs::rlp_node::update_rlp_node_level::update rlp node level::size 100000 | updated 0.1% | depth 3
CodSpeed Performance Gauge
-2%
2.7 ms
2.8 ms
hash builder[init size 10000 | update size 100 | num updates 1]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::hash builder[init size 10000 | update size 100 | num updates 1]
CodSpeed Performance Gauge
-2%
8.9 ms
9.1 ms
hash builder[init size 10000 | update size 100 | num updates 5]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::hash builder[init size 10000 | update size 100 | num updates 5]
CodSpeed Performance Gauge
-2%
44.1 ms
45.1 ms
prefix set | size: 10 | `Vec` with custom cursor lookup
crates/trie/common/benches/prefix_set.rs::prefix_set::prefix_set_lookups::Prefix Set Lookups::prefix set | size: 10 | `Vec` with custom cursor lookup
CodSpeed Performance Gauge
-3%
4.5 µs
4.6 µs
size 100000 | updated 1% | depth 5
crates/trie/sparse/benches/rlp_node.rs::rlp_node::update_rlp_node_level::update rlp node level::size 100000 | updated 1% | depth 5
CodSpeed Performance Gauge
-3%
10 ms
10.3 ms
hash builder[init size 10000 | update size 100 | num updates 3]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::hash builder[init size 10000 | update size 100 | num updates 3]
CodSpeed Performance Gauge
-3%
27 ms
28 ms
hash builder[init size 10000 | update size 100 | num updates 10]
crates/trie/sparse/benches/root.rs::root::calculate_root_from_leaves_repeated::calculate root from leaves repeated::hash builder[init size 10000 | update size 100 | num updates 10]
CodSpeed Performance Gauge
-5%
86.6 ms
91.3 ms

Commits

Click on a commit to change the comparison range
Base
main
1e4480a
0%
fix comments
5ebc20c
2 days ago
by int88
0%
fix test failure
435427b
1 day ago
by int88
-1%
handle peer remove event
938ef2d
11 hours ago
by int88
© 2025 CodSpeed Technology
Home Terms PrivacyDocs