Remove CoreCH heaps
This commit is contained in:
parent
e498ad3ee7
commit
ba974c73bf
@ -12,6 +12,10 @@ namespace osrm
|
||||
namespace engine
|
||||
{
|
||||
|
||||
template <typename Algorithm> struct SearchEngineData
|
||||
{
|
||||
};
|
||||
|
||||
struct HeapData
|
||||
{
|
||||
NodeID parent;
|
||||
@ -24,7 +28,7 @@ struct ManyToManyHeapData : HeapData
|
||||
ManyToManyHeapData(NodeID p, EdgeWeight duration) : HeapData(p), duration(duration) {}
|
||||
};
|
||||
|
||||
template <typename Algorithm> struct SearchEngineData
|
||||
template <> struct SearchEngineData<routing_algorithms::ch::Algorithm>
|
||||
{
|
||||
using QueryHeap = util::
|
||||
BinaryHeap<NodeID, NodeID, EdgeWeight, HeapData, util::UnorderedMapStorage<NodeID, int>>;
|
||||
|
@ -7,30 +7,17 @@ namespace osrm
|
||||
namespace engine
|
||||
{
|
||||
|
||||
template <typename Algorithm>
|
||||
typename SearchEngineData<Algorithm>::SearchEngineHeapPtr
|
||||
SearchEngineData<Algorithm>::forward_heap_1;
|
||||
template <typename Algorithm>
|
||||
typename SearchEngineData<Algorithm>::SearchEngineHeapPtr
|
||||
SearchEngineData<Algorithm>::reverse_heap_1;
|
||||
template <typename Algorithm>
|
||||
typename SearchEngineData<Algorithm>::SearchEngineHeapPtr
|
||||
SearchEngineData<Algorithm>::forward_heap_2;
|
||||
template <typename Algorithm>
|
||||
typename SearchEngineData<Algorithm>::SearchEngineHeapPtr
|
||||
SearchEngineData<Algorithm>::reverse_heap_2;
|
||||
template <typename Algorithm>
|
||||
typename SearchEngineData<Algorithm>::SearchEngineHeapPtr
|
||||
SearchEngineData<Algorithm>::forward_heap_3;
|
||||
template <typename Algorithm>
|
||||
typename SearchEngineData<Algorithm>::SearchEngineHeapPtr
|
||||
SearchEngineData<Algorithm>::reverse_heap_3;
|
||||
template <typename Algorithm>
|
||||
typename SearchEngineData<Algorithm>::ManyToManyHeapPtr
|
||||
SearchEngineData<Algorithm>::many_to_many_heap;
|
||||
// CH heaps
|
||||
using CH = routing_algorithms::ch::Algorithm;
|
||||
SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::forward_heap_1;
|
||||
SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::reverse_heap_1;
|
||||
SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::forward_heap_2;
|
||||
SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::reverse_heap_2;
|
||||
SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::forward_heap_3;
|
||||
SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::reverse_heap_3;
|
||||
SearchEngineData<CH>::ManyToManyHeapPtr SearchEngineData<CH>::many_to_many_heap;
|
||||
|
||||
template <typename Algorithm>
|
||||
void SearchEngineData<Algorithm>::InitializeOrClearFirstThreadLocalStorage(unsigned number_of_nodes)
|
||||
void SearchEngineData<CH>::InitializeOrClearFirstThreadLocalStorage(unsigned number_of_nodes)
|
||||
{
|
||||
if (forward_heap_1.get())
|
||||
{
|
||||
@ -51,9 +38,7 @@ void SearchEngineData<Algorithm>::InitializeOrClearFirstThreadLocalStorage(unsig
|
||||
}
|
||||
}
|
||||
|
||||
template <typename Algorithm>
|
||||
void SearchEngineData<Algorithm>::InitializeOrClearSecondThreadLocalStorage(
|
||||
unsigned number_of_nodes)
|
||||
void SearchEngineData<CH>::InitializeOrClearSecondThreadLocalStorage(unsigned number_of_nodes)
|
||||
{
|
||||
if (forward_heap_2.get())
|
||||
{
|
||||
@ -74,8 +59,7 @@ void SearchEngineData<Algorithm>::InitializeOrClearSecondThreadLocalStorage(
|
||||
}
|
||||
}
|
||||
|
||||
template <typename Algorithm>
|
||||
void SearchEngineData<Algorithm>::InitializeOrClearThirdThreadLocalStorage(unsigned number_of_nodes)
|
||||
void SearchEngineData<CH>::InitializeOrClearThirdThreadLocalStorage(unsigned number_of_nodes)
|
||||
{
|
||||
if (forward_heap_3.get())
|
||||
{
|
||||
@ -96,9 +80,7 @@ void SearchEngineData<Algorithm>::InitializeOrClearThirdThreadLocalStorage(unsig
|
||||
}
|
||||
}
|
||||
|
||||
template <typename Algorithm>
|
||||
void SearchEngineData<Algorithm>::InitializeOrClearManyToManyThreadLocalStorage(
|
||||
unsigned number_of_nodes)
|
||||
void SearchEngineData<CH>::InitializeOrClearManyToManyThreadLocalStorage(unsigned number_of_nodes)
|
||||
{
|
||||
if (many_to_many_heap.get())
|
||||
{
|
||||
@ -110,51 +92,6 @@ void SearchEngineData<Algorithm>::InitializeOrClearManyToManyThreadLocalStorage(
|
||||
}
|
||||
}
|
||||
|
||||
// CH
|
||||
using CH = routing_algorithms::ch::Algorithm;
|
||||
template SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::forward_heap_1;
|
||||
template SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::reverse_heap_1;
|
||||
template SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::forward_heap_2;
|
||||
template SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::reverse_heap_2;
|
||||
template SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::forward_heap_3;
|
||||
template SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::reverse_heap_3;
|
||||
template SearchEngineData<CH>::ManyToManyHeapPtr SearchEngineData<CH>::many_to_many_heap;
|
||||
|
||||
template void
|
||||
SearchEngineData<routing_algorithms::ch::Algorithm>::InitializeOrClearFirstThreadLocalStorage(
|
||||
unsigned number_of_nodes);
|
||||
|
||||
template void
|
||||
SearchEngineData<CH>::InitializeOrClearSecondThreadLocalStorage(unsigned number_of_nodes);
|
||||
|
||||
template void
|
||||
SearchEngineData<CH>::InitializeOrClearThirdThreadLocalStorage(unsigned number_of_nodes);
|
||||
|
||||
template void
|
||||
SearchEngineData<CH>::InitializeOrClearManyToManyThreadLocalStorage(unsigned number_of_nodes);
|
||||
|
||||
// CoreCH
|
||||
using CoreCH = routing_algorithms::corech::Algorithm;
|
||||
template SearchEngineData<CoreCH>::SearchEngineHeapPtr SearchEngineData<CoreCH>::forward_heap_1;
|
||||
template SearchEngineData<CoreCH>::SearchEngineHeapPtr SearchEngineData<CoreCH>::reverse_heap_1;
|
||||
template SearchEngineData<CoreCH>::SearchEngineHeapPtr SearchEngineData<CoreCH>::forward_heap_2;
|
||||
template SearchEngineData<CoreCH>::SearchEngineHeapPtr SearchEngineData<CoreCH>::reverse_heap_2;
|
||||
template SearchEngineData<CoreCH>::SearchEngineHeapPtr SearchEngineData<CoreCH>::forward_heap_3;
|
||||
template SearchEngineData<CoreCH>::SearchEngineHeapPtr SearchEngineData<CoreCH>::reverse_heap_3;
|
||||
template SearchEngineData<CoreCH>::ManyToManyHeapPtr SearchEngineData<CoreCH>::many_to_many_heap;
|
||||
|
||||
template void
|
||||
SearchEngineData<CoreCH>::InitializeOrClearFirstThreadLocalStorage(unsigned number_of_nodes);
|
||||
|
||||
template void
|
||||
SearchEngineData<CoreCH>::InitializeOrClearSecondThreadLocalStorage(unsigned number_of_nodes);
|
||||
|
||||
template void
|
||||
SearchEngineData<CoreCH>::InitializeOrClearThirdThreadLocalStorage(unsigned number_of_nodes);
|
||||
|
||||
template void
|
||||
SearchEngineData<CoreCH>::InitializeOrClearManyToManyThreadLocalStorage(unsigned number_of_nodes);
|
||||
|
||||
// MLD
|
||||
using MLD = routing_algorithms::mld::Algorithm;
|
||||
SearchEngineData<MLD>::SearchEngineHeapPtr SearchEngineData<MLD>::forward_heap_1;
|
||||
|
Loading…
Reference in New Issue
Block a user