From 2c0c32b7a2e2a5795b2c181663abafff801d959b Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Tue, 23 Dec 2025 11:51:12 +0100 Subject: [PATCH] perf: replace par_bridge with collect + into_par_iter --- crates/engine/tree/src/tree/payload_processor/sparse_trie.rs | 5 +++-- crates/trie/sparse/src/state.rs | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/crates/engine/tree/src/tree/payload_processor/sparse_trie.rs b/crates/engine/tree/src/tree/payload_processor/sparse_trie.rs index 70adbb6911..1d853abfb9 100644 --- a/crates/engine/tree/src/tree/payload_processor/sparse_trie.rs +++ b/crates/engine/tree/src/tree/payload_processor/sparse_trie.rs @@ -2,7 +2,7 @@ use crate::tree::payload_processor::multiproof::{MultiProofTaskMetrics, SparseTrieUpdate}; use alloy_primitives::B256; -use rayon::iter::{ParallelBridge, ParallelIterator}; +use rayon::iter::{IntoParallelIterator, ParallelIterator}; use reth_trie::{updates::TrieUpdates, Nibbles}; use reth_trie_parallel::root::ParallelStateRootError; use reth_trie_sparse::{ @@ -170,7 +170,8 @@ where .storages .into_iter() .map(|(address, storage)| (address, storage, trie.take_storage_trie(&address))) - .par_bridge() + .collect::>() + .into_par_iter() .map(|(address, storage, storage_trie)| { let _enter = debug_span!(target: "engine::tree::payload_processor::sparse_trie", parent: span.clone(), "storage trie", ?address) diff --git a/crates/trie/sparse/src/state.rs b/crates/trie/sparse/src/state.rs index f02c748430..b28d352162 100644 --- a/crates/trie/sparse/src/state.rs +++ b/crates/trie/sparse/src/state.rs @@ -274,7 +274,7 @@ where #[cfg(feature = "std")] // If std then reveal storage proofs in parallel { - use rayon::iter::{ParallelBridge, ParallelIterator}; + use rayon::iter::{IntoParallelIterator, ParallelIterator}; let retain_updates = self.retain_updates; @@ -288,7 +288,8 @@ where let trie = self.storage.take_or_create_trie(&account); (account, storage_subtree, revealed_nodes, trie) }) - .par_bridge() + .collect::>() + .into_par_iter() .map(|(account, storage_subtree, mut revealed_nodes, mut trie)| { let result = Self::reveal_decoded_storage_multiproof_inner( account,