Fixed long loading time of large working memory

This commit is contained in:
matlabbe
2018-11-05 11:50:49 -05:00
parent 9d62d04459
commit c2b1a9fbd7

View File

@@ -238,8 +238,14 @@ void Memory::loadDataFromDb(bool postInitClosingEvents)
// global loop closures. // global loop closures.
_signatures.insert(std::pair<int, Signature *>((*iter)->id(), *iter)); _signatures.insert(std::pair<int, Signature *>((*iter)->id(), *iter));
_workingMem.insert(std::make_pair((*iter)->id(), UTimer::now())); _workingMem.insert(std::make_pair((*iter)->id(), UTimer::now()));
}
else
{
delete *iter;
}
}
//update odomMaxInf vector UDEBUG("update odomMaxInf vector");
std::multimap<int, Link> links = this->getAllLinks(true, true); std::multimap<int, Link> links = this->getAllLinks(true, true);
for(std::multimap<int, Link>::iterator iter=links.begin(); iter!=links.end(); ++iter) for(std::multimap<int, Link>::iterator iter=links.begin(); iter!=links.end(); ++iter)
{ {
@@ -261,12 +267,8 @@ void Memory::loadDataFromDb(bool postInitClosingEvents)
} }
} }
} }
} UDEBUG("update odomMaxInf vector, done!");
else
{
delete *iter;
}
}
if(postInitClosingEvents) UEventsManager::post(new RtabmapEventInit(std::string("Loading nodes to WM, done! (") + uNumber2Str(int(_workingMem.size() + _stMem.size())) + " loaded)")); if(postInitClosingEvents) UEventsManager::post(new RtabmapEventInit(std::string("Loading nodes to WM, done! (") + uNumber2Str(int(_workingMem.size() + _stMem.size())) + " loaded)"));
// Assign the last signature // Assign the last signature