From b96d4eaddb0d15d59d1921b935ab15220176813e Mon Sep 17 00:00:00 2001 From: debris Date: Wed, 24 Aug 2016 13:59:50 +0200 Subject: [PATCH] bloom optimization --- ethcore/src/blockchain/blockchain.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ethcore/src/blockchain/blockchain.rs b/ethcore/src/blockchain/blockchain.rs index 278d50b00..e76cf42c4 100644 --- a/ethcore/src/blockchain/blockchain.rs +++ b/ethcore/src/blockchain/blockchain.rs @@ -995,8 +995,13 @@ impl BlockChain { let log_blooms = match info.location { BlockLocation::Branch => HashMap::new(), BlockLocation::CanonChain => { - let chain = bc::group::BloomGroupChain::new(self.blooms_config, self); - chain.insert(info.number as bc::Number, Bloom::from(header.log_bloom()).into()) + let log_bloom = header.log_bloom(); + if log_bloom.is_zero() { + HashMap::new() + } else { + let chain = bc::group::BloomGroupChain::new(self.blooms_config, self); + chain.insert(info.number as bc::Number, Bloom::from(log_bloom).into()) + } }, BlockLocation::BranchBecomingCanonChain(ref data) => { let ancestor_number = self.block_number(&data.ancestor).unwrap();