Fast path the addKnownNode case where the parent is in the cache.

This commit is contained in:
JoelKatz
2013-06-25 07:04:54 -07:00
parent 36ecca14d7
commit 993f04ea97

View File

@@ -311,7 +311,8 @@ SHAMapAddNode SHAMap::addKnownNode (const SHAMapNode& node, Blob const& rawNode,
if (checkCacheNode (node)) // Do we already have this node?
return SHAMapAddNode::okay ();
SHAMapTreeNode* iNode = root.get ();
SHAMapTreeNode::pointer parent = checkCacheNode(node.getParentNodeID());
SHAMapTreeNode* iNode = parent ? parent.get() : root.get ();
while (!iNode->isLeaf () && !iNode->isFullBelow () && (iNode->getDepth () < node.getDepth ()))
{