From cd67eace8caa4e3db7b4c8454c30b2caf6958548 Mon Sep 17 00:00:00 2001 From: robinsdan <115981357+robinsdan@users.noreply.github.com> Date: Mon, 16 Oct 2023 18:15:49 +0800 Subject: [PATCH] perf: move common_prefix_len out of loop (#5036) --- crates/primitives/src/trie/hash_builder/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/primitives/src/trie/hash_builder/mod.rs b/crates/primitives/src/trie/hash_builder/mod.rs index 35a41243da..888bb8ce68 100644 --- a/crates/primitives/src/trie/hash_builder/mod.rs +++ b/crates/primitives/src/trie/hash_builder/mod.rs @@ -182,6 +182,7 @@ impl HashBuilder { tracing::debug!(target: "trie::hash_builder", ?current, ?succeeding, "updating merkle tree"); + let common_prefix_len = succeeding.common_prefix_length(¤t); let mut i = 0; loop { let span = tracing::span!( @@ -197,7 +198,6 @@ impl HashBuilder { let preceding_exists = !self.groups.is_empty(); let preceding_len: usize = self.groups.len().saturating_sub(1); - let common_prefix_len = succeeding.common_prefix_length(¤t); let len = std::cmp::max(preceding_len, common_prefix_len); assert!(len < current.len());