From 3a48929fe66824e2cfaf929c61c38f5e8f426a3b Mon Sep 17 00:00:00 2001 From: Dennis Luxen Date: Thu, 23 Oct 2014 16:11:01 +0200 Subject: [PATCH] add benchmark for a single coordinate incremental lookup --- Benchmarks/StaticRTreeBench.cpp | 78 +++++++++++++++++++++++---------- 1 file changed, 55 insertions(+), 23 deletions(-) diff --git a/Benchmarks/StaticRTreeBench.cpp b/Benchmarks/StaticRTreeBench.cpp index b0b34fb6e..b721e9ee0 100644 --- a/Benchmarks/StaticRTreeBench.cpp +++ b/Benchmarks/StaticRTreeBench.cpp @@ -50,31 +50,33 @@ void Benchmark(BenchStaticRTree &rtree, unsigned num_queries) queries.emplace_back(FixedPointCoordinate(lat_udist(mt_rand), lon_udist(mt_rand))); } - const unsigned num_results = 5; - std::cout << "#### IncrementalFindPhantomNodeForCoordinate : " << num_results - << " phantom nodes" - << "\n"; - - TIMER_START(query_phantom); - std::vector resulting_phantom_node_vector; - for (const auto &q : queries) { - resulting_phantom_node_vector.clear(); - rtree.IncrementalFindPhantomNodeForCoordinate( - q, resulting_phantom_node_vector, 3, num_results); - resulting_phantom_node_vector.clear(); - rtree.IncrementalFindPhantomNodeForCoordinate( - q, resulting_phantom_node_vector, 17, num_results); + const unsigned num_results = 5; + std::cout << "#### IncrementalFindPhantomNodeForCoordinate : " << num_results + << " phantom nodes" + << "\n"; + + TIMER_START(query_phantom); + std::vector resulting_phantom_node_vector; + for (const auto &q : queries) + { + resulting_phantom_node_vector.clear(); + rtree.IncrementalFindPhantomNodeForCoordinate( + q, resulting_phantom_node_vector, 3, num_results); + resulting_phantom_node_vector.clear(); + rtree.IncrementalFindPhantomNodeForCoordinate( + q, resulting_phantom_node_vector, 17, num_results); + } + TIMER_STOP(query_phantom); + + std::cout << "Took " << TIMER_MSEC(query_phantom) << " msec for " << num_queries << " queries." + << "\n"; + std::cout << TIMER_MSEC(query_phantom) / ((double)num_queries) << " msec/query." + << "\n"; + + std::cout << "#### LocateClosestEndPointForCoordinate" + << "\n"; } - TIMER_STOP(query_phantom); - - std::cout << "Took " << TIMER_MSEC(query_phantom) << " msec for " << num_queries << " queries." - << "\n"; - std::cout << TIMER_MSEC(query_phantom) / ((double)num_queries) << " msec/query." - << "\n"; - - std::cout << "#### LocateClosestEndPointForCoordinate" - << "\n"; TIMER_START(query_endpoint); FixedPointCoordinate result; @@ -105,6 +107,36 @@ void Benchmark(BenchStaticRTree &rtree, unsigned num_queries) << "\n"; std::cout << TIMER_MSEC(query_phantomnode) / ((double)num_queries) << " msec/query." << "\n"; + + + { + const unsigned num_results = 1; + std::cout << "#### IncrementalFindPhantomNodeForCoordinate : " << num_results + << " phantom nodes" + << "\n"; + + TIMER_START(query_phantom); + std::vector resulting_phantom_node_vector; + for (const auto &q : queries) + { + resulting_phantom_node_vector.clear(); + rtree.IncrementalFindPhantomNodeForCoordinate( + q, resulting_phantom_node_vector, 3, num_results); + resulting_phantom_node_vector.clear(); + rtree.IncrementalFindPhantomNodeForCoordinate( + q, resulting_phantom_node_vector, 17, num_results); + } + TIMER_STOP(query_phantom); + + std::cout << "Took " << TIMER_MSEC(query_phantom) << " msec for " << num_queries << " queries." + << "\n"; + std::cout << TIMER_MSEC(query_phantom) / ((double)num_queries) << " msec/query." + << "\n"; + + std::cout << "#### LocateClosestEndPointForCoordinate" + << "\n"; + } + } int main(int argc, char **argv)