From b52c7bba4bd325251636a9a24a1460b643852d6d Mon Sep 17 00:00:00 2001 From: arkpar Date: Fri, 24 Mar 2017 15:43:54 +0100 Subject: [PATCH] Fewer allocations --- ethcore/src/snapshot/account.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ethcore/src/snapshot/account.rs b/ethcore/src/snapshot/account.rs index 9395eafac..4f80d61ea 100644 --- a/ethcore/src/snapshot/account.rs +++ b/ethcore/src/snapshot/account.rs @@ -71,8 +71,9 @@ pub fn to_fat_rlps(acc: &BasicAccount, acct_db: &AccountDB, used_code: &mut Hash let db = TrieDB::new(acct_db, &acc.storage_root)?; - let pair_chunks: Vec> = db.iter()?.chunks(preferred_size / AVERAGE_BYTES_PER_STORAGE_ENTRY).into_iter().map(|chunk| chunk.collect()).collect(); - pair_chunks.into_iter().pad_using(1, |_| Vec::new(), ).map(|pairs| { + let chunks = db.iter()?.chunks(preferred_size / AVERAGE_BYTES_PER_STORAGE_ENTRY); + let pair_chunks = chunks.into_iter().map(|chunk| chunk.collect()); + pair_chunks.pad_using(1, |_| Vec::new(), ).map(|pairs| { let mut stream = RlpStream::new_list(pairs.len()); for r in pairs {