Avatar for the paradigmxyz user
paradigmxyz
reth
BlogDocsChangelog

perf: query bytecodes with `&B256` to avoid copying code hash

#13559Merged
Comparing
risechain:bytecode-by-hash-ref
(
9795acd
) with
main
(
951e2fd
)
CodSpeed Performance Gauge
0%
Untouched
77

Benchmarks

Passed

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
+5%
8.4 ms8 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
+4%
1.6 ms1.6 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
+3%
89.8 ms87.1 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
+2%
967.1 µs946.5 µs
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
+2%
1.2 ms1.2 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
+2%
1.3 ms1.3 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
+2%
3.8 ms3.8 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
+2%
29.1 ms28.5 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
+2%
4 ms4 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
+2%
4 ms4 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%
45.6 ms44.8 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%
142 ms140.1 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
+1%
210.9 µs208.3 µs
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
+1%
14.2 ms14 ms
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
+1%
296.8 µs293.3 µs
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
+1%
19.9 ms19.7 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
+1%
10.2 ms10.1 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
+1%
78 ms77.1 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
+1%
2.8 ms2.7 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
+1%
19 ms18.8 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
+1%
25 µs24.7 µ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
+1%
598.5 µs592.2 µs
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
+1%
26.9 ms26.7 ms
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
+1%
114.5 µs113.5 µs
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
+1%
308.6 ms306.3 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%
9.8 ms9.7 ms
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
0%
9.5 ms9.5 ms
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%
132.2 µs131.9 µs
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.4 µs29.4 µs
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%
203.2 µs202.9 µs
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
0%
121.6 ms121.4 ms
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%
23.4 µs23.4 µ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%
197 ms196.8 ms
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.8 ms11.8 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 s2.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%
23.5 µs23.5 µ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%
258.4 ms258.4 ms
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%
259 ms259 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 s2.6 s
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%
23.6 µs23.6 µs
recover ECDSA
crates/primitives/benches/recover_ecdsa_crit.rs::benches::criterion_benchmark::recover ECDSA
CodSpeed Performance Gauge
0%
200 µs200 µs
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%
156.8 ms156.9 ms
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.2 ms9.2 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.9 ms22.9 ms
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%
47.5 ms47.5 ms
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%
23.6 µs23.7 µs
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
0%
39.2 ms39.3 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%
4.4 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::hash builder[init size 10000 | update size 1000 | num updates 3]
CodSpeed Performance Gauge
0%
81.4 ms81.6 ms
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%
78.4 ms78.6 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
0%
31.4 ms31.5 ms
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 ms4.6 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
0%
12.7 ms12.8 ms
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%
52.9 ms53.2 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
-1%
23.5 µs23.6 µs
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.3 ms31.5 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
-1%
8.7 ms8.7 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
-1%
23.4 µs23.6 µ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::sparse trie[init size 1000 | update size 1000 | num updates 3]
CodSpeed Performance Gauge
-1%
28.9 ms29.2 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%
26.6 ms26.9 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.5 ms26.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.6 ms26.9 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
-1%
30.4 ms30.7 ms
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
-1%
5 ms5.1 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.5 ms23.8 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
-1%
53.3 µs54 µ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
-1%
7.5 ms7.6 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
-1%
6.4 µs6.5 µs
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
-1%
17.7 ms18 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
-2%
6.3 ms6.4 ms
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
-2%
15.2 ms15.5 ms
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
-2%
1.6 ms1.6 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
-3%
10 ms10.3 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.4 µs4.5 µs
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
-4%
2.5 ms2.7 ms
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
-7%
4.3 µs4.6 µs
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
-9%
4.9 µs5.4 µs

Commits

Click on a commit to change the comparison range
Base
main
951e2fd
-0.08%
perf: query bytecodes with &B256 to avoid copying code hash
9795acd
9 months ago
by hai-rise
© 2025 CodSpeed Technology
Home Terms Privacy Docs