From 7e4020c01077f63bdf835fae11beaa834f96d7ad Mon Sep 17 00:00:00 2001 From: "Daniel J. Hofmann" Date: Mon, 14 Nov 2016 20:55:40 +0100 Subject: [PATCH] Allocates memory for the node info list upfront. Turns out we were not doing this. Huh. Callstack: - https://github.com/Project-OSRM/osrm-backend/blob/78583d2c8c639466bdde01c848398b2a48b72f44/include/util/graph_loader.hpp#L65-L68 - https://github.com/Project-OSRM/osrm-backend/blob/538bbd47d1ee169764b66df3ef67ecfe131cdfec/src/extractor/extractor.cpp#L423-L424 - https://github.com/Project-OSRM/osrm-backend/blob/78583d2c8c639466bdde01c848398b2a48b72f44/src/extractor/extractor.cpp#L465-L466 - https://github.com/Project-OSRM/osrm-backend/blob/78583d2c8c639466bdde01c848398b2a48b72f44/src/extractor/extractor.cpp#L254-L261 --- include/util/graph_loader.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/util/graph_loader.hpp b/include/util/graph_loader.hpp index 7e6417823..7f4247303 100644 --- a/include/util/graph_loader.hpp +++ b/include/util/graph_loader.hpp @@ -81,6 +81,8 @@ NodeID loadNodesFromFile(std::istream &input_stream, input_stream.read(reinterpret_cast(&n), sizeof(NodeID)); SimpleLogger().Write() << "Importing n = " << n << " nodes "; + node_array.reserve(n); + extractor::ExternalMemoryNode current_node; for (NodeID i = 0; i < n; ++i) {