From 72ffde43f5f734ea7de3c66ee94afb60469a69ee Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Wed, 28 Feb 2024 14:52:15 +0100 Subject: [PATCH] perf: use cached encoded len for limit check (#6838) --- crates/transaction-pool/src/pool/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/transaction-pool/src/pool/mod.rs b/crates/transaction-pool/src/pool/mod.rs index 28ea3a61ad..017e0e594a 100644 --- a/crates/transaction-pool/src/pool/mod.rs +++ b/crates/transaction-pool/src/pool/mod.rs @@ -103,7 +103,6 @@ use crate::{ traits::{GetPooledTransactionLimit, NewBlobSidecar, TransactionListenerKind}, validate::ValidTransaction, }; -use alloy_rlp::Encodable; pub use best::BestTransactionFilter; pub use blob::{blob_tx_priority, fee_delta}; pub use events::{FullTransactionEvent, TransactionEvent}; @@ -319,6 +318,7 @@ where let mut elements = Vec::with_capacity(transactions.len()); let mut size = 0; for transaction in transactions { + let encoded_len = transaction.encoded_length(); let tx = transaction.to_recovered_transaction().into_signed(); let pooled = if tx.is_eip4844() { if let Some(blob) = self.get_blob_transaction(tx) { @@ -330,7 +330,7 @@ where PooledTransactionsElement::from(tx) }; - size += pooled.length(); + size += encoded_len; elements.push(pooled); if limit.exceeds(size) {