From 6ea51280ddc235ed93e16906c3427efd20cd7ce4 Mon Sep 17 00:00:00 2001 From: HaoranYi Date: Thu, 28 Sep 2023 20:10:41 -0500 Subject: [PATCH] Move sort timer out of loop (#33448) move sort timer out of loop Co-authored-by: HaoranYi --- accounts-db/src/accounts_db.rs | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/accounts-db/src/accounts_db.rs b/accounts-db/src/accounts_db.rs index ee54d2a22..38b36cd5a 100644 --- a/accounts-db/src/accounts_db.rs +++ b/accounts-db/src/accounts_db.rs @@ -7626,16 +7626,11 @@ impl AccountsDb { } fn sort_slot_storage_scan(accum: &mut BinnedHashData) -> u64 { - let time = AtomicU64::new(0); - accum.iter_mut().for_each(|items| { - let mut sort_time = Measure::start("sort"); + let (_, sort_time) = measure_us!(accum.iter_mut().for_each(|items| { // sort_by vs unstable because slot and write_version are already in order items.sort_by(AccountsHasher::compare_two_hash_entries); - sort_time.stop(); - time.fetch_add(sort_time.as_us(), Ordering::Relaxed); - }); - - time.load(Ordering::Relaxed) + })); + sort_time } /// normal code path returns the common cache path