Remove calls to heapsize (#10432)
* update memorydb trait * use malloc_size_of instead of heapsize_of * use jemalloc as default allocator for parity client.
This commit is contained in:
@@ -39,7 +39,7 @@ use ethcore_db::cache_manager::CacheManager;
|
||||
use ethcore_db::keys::{BlockReceipts, BlockDetails, TransactionAddress, EPOCH_KEY_PREFIX, EpochTransitions};
|
||||
use ethcore_db::{self as db, Writable, Readable, CacheUpdatePolicy};
|
||||
use ethereum_types::{H256, Bloom, BloomRef, U256};
|
||||
use heapsize::HeapSizeOf;
|
||||
use util_mem::{MallocSizeOf, allocators::new_malloc_size_ops};
|
||||
use itertools::Itertools;
|
||||
use kvdb::{DBTransaction, KeyValueDB};
|
||||
use log::{trace, warn, info};
|
||||
@@ -1489,11 +1489,12 @@ impl BlockChain {
|
||||
|
||||
/// Get current cache size.
|
||||
pub fn cache_size(&self) -> CacheSize {
|
||||
let mut ops = new_malloc_size_ops();
|
||||
CacheSize {
|
||||
blocks: self.block_headers.read().heap_size_of_children() + self.block_bodies.read().heap_size_of_children(),
|
||||
block_details: self.block_details.read().heap_size_of_children(),
|
||||
transaction_addresses: self.transaction_addresses.read().heap_size_of_children(),
|
||||
block_receipts: self.block_receipts.read().heap_size_of_children(),
|
||||
blocks: self.block_headers.size_of(&mut ops) + self.block_bodies.size_of(&mut ops),
|
||||
block_details: self.block_details.size_of(&mut ops),
|
||||
transaction_addresses: self.transaction_addresses.size_of(&mut ops),
|
||||
block_receipts: self.block_receipts.size_of(&mut ops),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1528,12 +1529,13 @@ impl BlockChain {
|
||||
transaction_addresses.shrink_to_fit();
|
||||
block_receipts.shrink_to_fit();
|
||||
|
||||
block_headers.heap_size_of_children() +
|
||||
block_bodies.heap_size_of_children() +
|
||||
block_details.heap_size_of_children() +
|
||||
block_hashes.heap_size_of_children() +
|
||||
transaction_addresses.heap_size_of_children() +
|
||||
block_receipts.heap_size_of_children()
|
||||
let mut ops = new_malloc_size_ops();
|
||||
block_headers.size_of(&mut ops) +
|
||||
block_bodies.size_of(&mut ops) +
|
||||
block_details.size_of(&mut ops) +
|
||||
block_hashes.size_of(&mut ops) +
|
||||
transaction_addresses.size_of(&mut ops) +
|
||||
block_receipts.size_of(&mut ops)
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,9 @@
|
||||
|
||||
#![warn(missing_docs)]
|
||||
|
||||
extern crate parity_util_mem as util_mem;
|
||||
extern crate parity_util_mem as malloc_size_of;
|
||||
|
||||
mod best_block;
|
||||
mod block_info;
|
||||
mod blockchain;
|
||||
|
||||
Reference in New Issue
Block a user