parallel shrink (#19507)

This commit is contained in:
Jeff Washington (jwash)
2021-08-31 11:57:34 -05:00
committed by GitHub
parent 0e94b8fd4e
commit e1939688c2

View File

@ -2607,14 +2607,18 @@ impl AccountsDb {
let mut measure_shrink_all_candidates = Measure::start("shrink_all_candidate_slots-ms"); let mut measure_shrink_all_candidates = Measure::start("shrink_all_candidate_slots-ms");
let num_candidates = shrink_slots.len(); let num_candidates = shrink_slots.len();
let mut shrink_candidates_count: usize = 0; let shrink_candidates_count: usize = self.thread_pool.install(|| {
for (slot, slot_shrink_candidates) in shrink_slots { shrink_slots
shrink_candidates_count += slot_shrink_candidates.len(); .into_par_iter()
.map(|(slot, slot_shrink_candidates)| {
let mut measure = Measure::start("shrink_candidate_slots-ms"); let mut measure = Measure::start("shrink_candidate_slots-ms");
self.do_shrink_slot_stores(slot, slot_shrink_candidates.values(), false); self.do_shrink_slot_stores(slot, slot_shrink_candidates.values(), false);
measure.stop(); measure.stop();
inc_new_counter_info!("shrink_candidate_slots-ms", measure.as_ms() as usize); inc_new_counter_info!("shrink_candidate_slots-ms", measure.as_ms() as usize);
} slot_shrink_candidates.len()
})
.sum()
});
measure_shrink_all_candidates.stop(); measure_shrink_all_candidates.stop();
inc_new_counter_info!( inc_new_counter_info!(
"shrink_all_candidate_slots-ms", "shrink_all_candidate_slots-ms",