From 993f04ea976ab33f65f411683aa129148ef0c32c Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Tue, 25 Jun 2013 07:04:54 -0700 Subject: [PATCH] Fast path the addKnownNode case where the parent is in the cache. --- src/cpp/ripple/ripple_SHAMapSync.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cpp/ripple/ripple_SHAMapSync.cpp b/src/cpp/ripple/ripple_SHAMapSync.cpp index a753a5e117..a2eebd5f63 100644 --- a/src/cpp/ripple/ripple_SHAMapSync.cpp +++ b/src/cpp/ripple/ripple_SHAMapSync.cpp @@ -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 ())) {