filter get_snapshot_storages for requested_slots earlier (#29465)

* filter get_snapshot_storages for requested_slots earlier

* Update runtime/src/accounts_db.rs

Co-authored-by: apfitzge <apfitzge@gmail.com>

Co-authored-by: apfitzge <apfitzge@gmail.com>
This commit is contained in:
Jeff Washington (jwash) 2023-01-02 22:53:30 -06:00 committed by GitHub
parent 4cc1890f00
commit e86628a823
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 5 deletions

View File

@ -8533,6 +8533,7 @@ impl AccountsDb {
.storage
.iter()
.map(|k| *k.key() as Slot)
.filter(|slot| requested_slots.contains(slot))
.collect::<Vec<_>>();
m.stop();
let mut m2 = Measure::start("filter");
@ -8545,11 +8546,10 @@ impl AccountsDb {
slots
.iter()
.filter_map(|slot| {
if requested_slots.contains(slot)
&& (self.accounts_index.is_alive_root(*slot)
|| ancestors
.map(|ancestors| ancestors.contains_key(slot))
.unwrap_or_default())
if self.accounts_index.is_alive_root(*slot)
|| ancestors
.map(|ancestors| ancestors.contains_key(slot))
.unwrap_or_default()
{
self.storage.get(slot).map_or_else(
|| None,