Avatar for the paradigmxyz user
paradigmxyz
reth
BlogDocsChangelog

feat: FOCIL Implementaion

#18393
Comparing
PelleKrab:focil_impl
(
3b700f4
) with
main
(
1b08843
)
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
+2%
7.3 ms7.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
+2%
126 ms123.9 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
+2%
5.7 ms5.6 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
+2%
3.8 µs3.8 µs
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.8 ms8.7 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%
25.9 ms25.5 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%
991.1 µs978.5 µ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%
12.1 ms12 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%
5 µs5 µs
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
+1%
3.1 µs3.1 µ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
+1%
3.8 µs3.7 µs
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%
76.5 ms76 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%
28.1 ms27.9 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%
5 ms5 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%
27.2 ms27 ms
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%
55.8 ms55.6 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
0%
1.1 ms1.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
0%
16.9 ms16.8 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%
248.3 ms247.7 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.4 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
0%
198.2 µs197.9 µs
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%
11.4 ms11.4 ms
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%
155 µs154.8 µs
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.3 ms22.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%
938.2 µs937.6 µs
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%
6.5 ms6.5 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
0%
24.3 ms24.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
0%
24.1 ms24.1 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
0%
24.2 ms24.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
0%
10.9 ms10.9 ms
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%
465.9 µs465.7 µ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
0%
14.9 ms14.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%
33 ms32.9 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%
23.9 ms23.9 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%
40.1 µs40.1 µs
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%
138.3 µs138.3 µs
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%
15.9 µs15.9 µs
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: 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.7 µs149.7 µ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.8 ms11.8 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%
108.5 ms108.5 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%
21.4 ms21.5 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%
149.2 µs149.2 µ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%
10.5 ms10.5 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 ms1.2 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%
10.8 ms10.8 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
0%
2.3 ms2.3 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.1 ms9.1 ms
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%
5.3 ms5.3 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.9 µs151 µ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%
48.5 ms48.6 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%
131.9 µs132 µs
recover ECDSA
crates/primitives/benches/recover_ecdsa_crit.rs::benches::criterion_benchmark::recover ECDSA
CodSpeed Performance Gauge
0%
206.7 µs206.8 µs
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.2 ms3.2 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%
152 µs152.1 µ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.6 ms258.9 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
0%
21.2 ms21.3 ms
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.7 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
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%
54.6 ms54.6 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%
18.9 µs18.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.7 µs149.9 µs
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
0%
24.4 ms24.4 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
0%
112 µs112.2 µ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
0%
14.7 ms14.7 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.3 µs153.7 µs
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%
5.5 ms5.5 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
-1%
26 ms26.1 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.4 ms2.4 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
-1%
1.3 ms1.3 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.3 ms2.4 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
-1%
7.7 ms7.8 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%
3.5 ms3.5 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%
3.5 ms3.5 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
-1%
3.3 ms3.4 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
-3%
41.9 ms43.3 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
-6%
82.3 ms87.6 ms

Commits

Click on a commit to change the comparison range
Base
main
1b08843
-0.14%
refactor: IL building & fmt
21ab101
4 days ago
by PelleKrab
+0.05%
io-patched alloy-op-evm to WIP repo and fixed merge issues
5c75fcd
3 days ago
by PelleKrab
+0.01%
Merge branch 'main' into focil_impl
4d98d29
3 days ago
by PelleKrab
+0.16%
docs: replaced FCUv4 link w/ todo
66699bc
2 days ago
by PelleKrab
-0.09%
Merge remote-tracking branch 'origin/main' into focil_impl
3b700f4
8 hours ago
by PelleKrab
© 2025 CodSpeed Technology
Home Terms Privacy Docs