From 1cc68fcca6c6698bee15bef5bfa6a3a00a0595c3 Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Mon, 20 Nov 2023 13:32:37 +0100 Subject: [PATCH] chore: preallocate buffer for rlp (#5494) --- crates/primitives/src/transaction/mod.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/primitives/src/transaction/mod.rs b/crates/primitives/src/transaction/mod.rs index 47a262705d..9702ae19eb 100644 --- a/crates/primitives/src/transaction/mod.rs +++ b/crates/primitives/src/transaction/mod.rs @@ -819,7 +819,8 @@ impl TransactionSignedNoHash { /// Calculates the transaction hash. If used more than once, it's better to convert it to /// [`TransactionSigned`] first. pub fn hash(&self) -> B256 { - let mut buf = Vec::new(); + // pre-allocate buffer for the transaction + let mut buf = Vec::with_capacity(128 + self.transaction.input().len()); self.transaction.encode_with_signature(&self.signature, &mut buf, false); keccak256(&buf) }