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