From 4afe2cb956437fa9f3514a3a32a390b1841256fb Mon Sep 17 00:00:00 2001 From: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com> Date: Thu, 30 Jan 2025 21:56:19 +0000 Subject: [PATCH] iterate once --- crates/engine/tree/src/tree/root.rs | 42 +++++++++++------------------ 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/crates/engine/tree/src/tree/root.rs b/crates/engine/tree/src/tree/root.rs index fc8855b683c9..1b1022282189 100644 --- a/crates/engine/tree/src/tree/root.rs +++ b/crates/engine/tree/src/tree/root.rs @@ -689,36 +689,24 @@ where self.metrics .proof_calculation_duration_histogram .record(proof_calculated.elapsed); - let with_account_accounts = proof_calculated - .update - .targets - .values() - .filter(|slots| slots.is_with_account()) - .count(); - let with_account_slots = proof_calculated - .update - .targets - .values() - .filter(|slots| slots.is_with_account()) - .map(|slots| slots.len()) - .sum::(); + + let mut with_account_accounts = 0; + let mut with_account_slots = 0; + let mut only_storage_accounts = 0; + let mut only_storage_slots = 0; + for slots in proof_calculated.update.targets.values() { + if slots.is_with_account() { + with_account_accounts += 1; + with_account_slots += slots.len(); + } else if slots.is_only_storage() { + only_storage_accounts += 1; + only_storage_slots += slots.len(); + } + } + self.metrics .proof_calculation_with_account_targets_histogram .record(with_account_accounts as f64); - - let only_storage_accounts = proof_calculated - .update - .targets - .values() - .filter(|slots| slots.is_only_storage()) - .count(); - let only_storage_slots = proof_calculated - .update - .targets - .values() - .filter(|slots| slots.is_only_storage()) - .map(|slots| slots.len()) - .sum::(); self.metrics .proof_calculation_only_storage_targets_histogram .record(only_storage_accounts as f64);