From d93b4feb99c31434ab1cf6822ed6329022275bb9 Mon Sep 17 00:00:00 2001 From: Dennis Luxen Date: Thu, 22 May 2014 12:41:25 +0200 Subject: [PATCH] add some static asserts to guard against memory usage regressions --- DataStructures/NodeBasedGraph.h | 1 + prepare.cpp | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/DataStructures/NodeBasedGraph.h b/DataStructures/NodeBasedGraph.h index aa8a91c22..46594ac01 100644 --- a/DataStructures/NodeBasedGraph.h +++ b/DataStructures/NodeBasedGraph.h @@ -49,6 +49,7 @@ typedef DynamicGraph NodeBasedDynamicGraph; inline std::shared_ptr NodeBasedDynamicGraphFromImportEdges(int number_of_nodes, std::vector &input_edge_list) { + static_assert(sizeof(NodeBasedEdgeData) == 16, "changing node based edge data size changes memory consumption"); std::sort(input_edge_list.begin(), input_edge_list.end()); // TODO: remove duplicate edges diff --git a/prepare.cpp b/prepare.cpp index 267e22e5b..4334b8aee 100644 --- a/prepare.cpp +++ b/prepare.cpp @@ -252,6 +252,8 @@ int main(int argc, char *argv[]) speed_profile.has_turn_penalty_function = lua_function_exists(lua_state, "turn_function"); + static_assert(sizeof(ImportEdge) == 20, + "changing ImportEdge type has influence on memory consumption!"); std::vector edge_list; NodeID number_of_node_based_nodes = readBinaryOSRMGraphFromStream(in, @@ -303,6 +305,9 @@ int main(int argc, char *argv[]) unsigned number_of_edge_based_nodes = edge_based_graph_factor->GetNumberOfEdgeBasedNodes(); BOOST_ASSERT(number_of_edge_based_nodes != std::numeric_limits::max()); DeallocatingVector edgeBasedEdgeList; + static_assert(sizeof(EdgeBasedEdge) == 16, + "changing ImportEdge type has influence on memory consumption!"); + edge_based_graph_factor->GetEdgeBasedEdges(edgeBasedEdgeList); std::vector node_based_edge_list; edge_based_graph_factor->GetEdgeBasedNodes(node_based_edge_list);