From e714a16b9551f508bd1f9b24ef25007b4c4d3f3e Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Wed, 9 Jan 2013 07:14:07 -0800 Subject: [PATCH] Optimizations. --- src/cpp/ripple/SHAMapSync.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/cpp/ripple/SHAMapSync.cpp b/src/cpp/ripple/SHAMapSync.cpp index 65bd73408..d564eebb9 100644 --- a/src/cpp/ripple/SHAMapSync.cpp +++ b/src/cpp/ripple/SHAMapSync.cpp @@ -32,12 +32,12 @@ void SHAMap::getMissingNodes(std::vector& nodeIDs, std::vector stack; - stack.push(root); + std::stack stack; + stack.push(root.get()); while (!stack.empty()) { - SHAMapTreeNode::pointer node = stack.top(); + SHAMapTreeNode* node = stack.top(); stack.pop(); int base = rand() % 256; @@ -49,10 +49,10 @@ void SHAMap::getMissingNodes(std::vector& nodeIDs, std::vectorgetChildNodeID(branch); const uint256& childHash = node->getChildHash(branch); - SHAMapTreeNode::pointer d; + SHAMapTreeNode* d; try { - d = getNode(childID, childHash, false); + d = getNodePointer(childID, childHash); } catch (SHAMapMissingNode&) { // node is not in the map @@ -61,9 +61,11 @@ void SHAMap::getMissingNodes(std::vector& nodeIDs, std::vector nodeData; if (filter->haveNode(childID, childHash, nodeData)) { - d = boost::make_shared(childID, nodeData, mSeq, snfPREFIX, childHash); + SHAMapTreeNode::pointer ptr = + boost::make_shared(childID, nodeData, mSeq, snfPREFIX, childHash); cLog(lsTRACE) << "Got sync node from cache: " << *d; - mTNByID[*d] = d; + mTNByID[*ptr] = ptr; + d = ptr.get(); } } }