static void initHashtables() { gTXMap.setEmptyKey(empty); gBlockMap.setEmptyKey(empty); auto e = mapVec.end(); uint64_t totalSize = 0; auto i = mapVec.begin(); while(i!=e) totalSize += (i++)->size; double txPerBytes = (3976774.0 / 1713189944.0); size_t nbTxEstimate = (1.5 * txPerBytes * totalSize); gTXMap.resize(nbTxEstimate); double blocksPerBytes = (184284.0 / 1713189944.0); size_t nbBlockEstimate = (1.5 * blocksPerBytes * totalSize); gBlockMap.resize(nbBlockEstimate); }
static void initHashtables() { info("initializing hash tables"); gTXOMap.setEmptyKey(empty); gBlockMap.setEmptyKey(empty); auto kAvgBytesPerTX = 542.0; auto nbTxEstimate = (size_t)(1.1 * (gChainSize / kAvgBytesPerTX)); if(gNeedUpstream) { gTXOMap.resize(nbTxEstimate); } auto kAvgBytesPerBlock = 140000; auto nbBlockEstimate = (size_t)(1.1 * (gChainSize / kAvgBytesPerBlock)); gBlockMap.resize(nbBlockEstimate); info("estimated number of blocks = %.2fK", 1e-3*nbBlockEstimate); info("estimated number of transactions = %.2fM", 1e-6*nbTxEstimate); info("done initializing hash tables - mem = %.3f Gigs", getMem()); }
static void initHashtables() { info("initializing hash tables"); gTXOMap.setEmptyKey(empty); gBlockMap.setEmptyKey(empty); gChainSize = 0; for(const auto &map : mapVec) { gChainSize += map.size; } auto txPerBytes = (52149122.0 / 26645195995.0); auto nbTxEstimate = (size_t)(1.1 * txPerBytes * gChainSize); gTXOMap.resize(nbTxEstimate); auto blocksPerBytes = (331284.0 / 26645195995.0); auto nbBlockEstimate = (size_t)(1.1 * blocksPerBytes * gChainSize); gBlockMap.resize(nbBlockEstimate); info("estimated number of blocks = %.2fK", 1e-3*nbBlockEstimate); info("estimated number of transactions = %.2fM", 1e-6*nbTxEstimate); }