From 7357a8d42bedd9d0f839b44845a36726a7c7d811 Mon Sep 17 00:00:00 2001 From: Patrick Niklaus Date: Sat, 30 Apr 2016 03:38:21 +0200 Subject: [PATCH] Only save TreeNode index in search tree x3 speedup --- include/util/static_rtree.hpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/util/static_rtree.hpp b/include/util/static_rtree.hpp index 2e5a98857..c9c031a4c 100644 --- a/include/util/static_rtree.hpp +++ b/include/util/static_rtree.hpp @@ -93,7 +93,7 @@ class StaticRTree } }; - using QueryNodeType = mapbox::util::variant; + using QueryNodeType = mapbox::util::variant; struct QueryCandidate { inline bool operator<(const QueryCandidate &other) const @@ -415,17 +415,17 @@ class StaticRTree // initialize queue with root element std::priority_queue traversal_queue; - traversal_queue.push(QueryCandidate{0, m_search_tree[0]}); + traversal_queue.push(QueryCandidate{0, 0}); while (!traversal_queue.empty()) { QueryCandidate current_query_node = traversal_queue.top(); traversal_queue.pop(); - if (current_query_node.node.template is()) + if (current_query_node.node.template is()) { // current object is a tree node const TreeNode ¤t_tree_node = - current_query_node.node.template get(); + m_search_tree[current_query_node.node.template get()]; if (current_tree_node.child_is_on_disk) { ExploreLeafNode(current_tree_node.children[0], fixed_projected_coordinate, @@ -510,7 +510,7 @@ class StaticRTree const auto squared_lower_bound_to_element = child_rectangle.GetMinSquaredDist(fixed_projected_input_coordinate); traversal_queue.push( - QueryCandidate{squared_lower_bound_to_element, m_search_tree[child_id]}); + QueryCandidate{squared_lower_bound_to_element, child_id}); } }