wip
This commit is contained in:
parent
7337771aaf
commit
058c26e39a
@ -45,19 +45,19 @@ template <> struct SearchEngineData<routing_algorithms::ch::Algorithm>
|
|||||||
ManyToManyHeapData,
|
ManyToManyHeapData,
|
||||||
util::UnorderedMapStorage<NodeID, int>>;
|
util::UnorderedMapStorage<NodeID, int>>;
|
||||||
|
|
||||||
using SearchEngineHeapPtr = boost::thread_specific_ptr<QueryHeap>;
|
using SearchEngineHeapPtr = std::unique_ptr<QueryHeap>;
|
||||||
|
|
||||||
using ManyToManyHeapPtr = boost::thread_specific_ptr<ManyToManyQueryHeap>;
|
using ManyToManyHeapPtr = std::unique_ptr<ManyToManyQueryHeap>;
|
||||||
|
|
||||||
static SearchEngineHeapPtr forward_heap_1;
|
static thread_local SearchEngineHeapPtr forward_heap_1;
|
||||||
static SearchEngineHeapPtr reverse_heap_1;
|
static thread_local SearchEngineHeapPtr reverse_heap_1;
|
||||||
static SearchEngineHeapPtr forward_heap_2;
|
static thread_local SearchEngineHeapPtr forward_heap_2;
|
||||||
static SearchEngineHeapPtr reverse_heap_2;
|
static thread_local SearchEngineHeapPtr reverse_heap_2;
|
||||||
static SearchEngineHeapPtr forward_heap_3;
|
static thread_local SearchEngineHeapPtr forward_heap_3;
|
||||||
static SearchEngineHeapPtr reverse_heap_3;
|
static thread_local SearchEngineHeapPtr reverse_heap_3;
|
||||||
static ManyToManyHeapPtr many_to_many_heap;
|
static thread_local ManyToManyHeapPtr many_to_many_heap;
|
||||||
static SearchEngineHeapPtr map_matching_forward_heap_1;
|
static thread_local SearchEngineHeapPtr map_matching_forward_heap_1;
|
||||||
static SearchEngineHeapPtr map_matching_reverse_heap_1;
|
static thread_local SearchEngineHeapPtr map_matching_reverse_heap_1;
|
||||||
|
|
||||||
void InitializeOrClearMapMatchingThreadLocalStorage(unsigned number_of_nodes);
|
void InitializeOrClearMapMatchingThreadLocalStorage(unsigned number_of_nodes);
|
||||||
|
|
||||||
@ -127,16 +127,16 @@ template <> struct SearchEngineData<routing_algorithms::mld::Algorithm>
|
|||||||
MapMatchingMultiLayerDijkstraHeapData,
|
MapMatchingMultiLayerDijkstraHeapData,
|
||||||
util::TwoLevelStorage<NodeID, int>>;
|
util::TwoLevelStorage<NodeID, int>>;
|
||||||
|
|
||||||
using SearchEngineHeapPtr = boost::thread_specific_ptr<QueryHeap>;
|
using SearchEngineHeapPtr = std::unique_ptr<QueryHeap>;
|
||||||
using ManyToManyHeapPtr = boost::thread_specific_ptr<ManyToManyQueryHeap>;
|
using ManyToManyHeapPtr = std::unique_ptr<ManyToManyQueryHeap>;
|
||||||
using MapMatchingHeapPtr = boost::thread_specific_ptr<MapMatchingQueryHeap>;
|
using MapMatchingHeapPtr = std::unique_ptr<MapMatchingQueryHeap>;
|
||||||
|
|
||||||
static SearchEngineHeapPtr forward_heap_1;
|
static thread_local SearchEngineHeapPtr forward_heap_1;
|
||||||
static SearchEngineHeapPtr reverse_heap_1;
|
static thread_local SearchEngineHeapPtr reverse_heap_1;
|
||||||
static MapMatchingHeapPtr map_matching_forward_heap_1;
|
static thread_local MapMatchingHeapPtr map_matching_forward_heap_1;
|
||||||
static MapMatchingHeapPtr map_matching_reverse_heap_1;
|
static thread_local MapMatchingHeapPtr map_matching_reverse_heap_1;
|
||||||
|
|
||||||
static ManyToManyHeapPtr many_to_many_heap;
|
static thread_local ManyToManyHeapPtr many_to_many_heap;
|
||||||
|
|
||||||
void InitializeOrClearFirstThreadLocalStorage(unsigned number_of_nodes,
|
void InitializeOrClearFirstThreadLocalStorage(unsigned number_of_nodes,
|
||||||
unsigned number_of_boundary_nodes);
|
unsigned number_of_boundary_nodes);
|
||||||
|
@ -59,7 +59,6 @@ public:
|
|||||||
|
|
||||||
~MemoryManager()
|
~MemoryManager()
|
||||||
{
|
{
|
||||||
// std::lock_guard<std::mutex> lock(mutex_);
|
|
||||||
for (auto block : blocks_)
|
for (auto block : blocks_)
|
||||||
{
|
{
|
||||||
std::free(block);
|
std::free(block);
|
||||||
|
@ -5,16 +5,16 @@ namespace osrm::engine
|
|||||||
|
|
||||||
// CH heaps
|
// CH heaps
|
||||||
using CH = routing_algorithms::ch::Algorithm;
|
using CH = routing_algorithms::ch::Algorithm;
|
||||||
SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::forward_heap_1;
|
thread_local SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::forward_heap_1;
|
||||||
SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::reverse_heap_1;
|
thread_local SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::reverse_heap_1;
|
||||||
SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::forward_heap_2;
|
thread_local SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::forward_heap_2;
|
||||||
SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::reverse_heap_2;
|
thread_local SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::reverse_heap_2;
|
||||||
SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::forward_heap_3;
|
thread_local SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::forward_heap_3;
|
||||||
SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::reverse_heap_3;
|
thread_local SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::reverse_heap_3;
|
||||||
SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::map_matching_forward_heap_1;
|
thread_local SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::map_matching_forward_heap_1;
|
||||||
SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::map_matching_reverse_heap_1;
|
thread_local SearchEngineData<CH>::SearchEngineHeapPtr SearchEngineData<CH>::map_matching_reverse_heap_1;
|
||||||
|
|
||||||
SearchEngineData<CH>::ManyToManyHeapPtr SearchEngineData<CH>::many_to_many_heap;
|
thread_local SearchEngineData<CH>::ManyToManyHeapPtr SearchEngineData<CH>::many_to_many_heap;
|
||||||
|
|
||||||
void SearchEngineData<CH>::InitializeOrClearMapMatchingThreadLocalStorage(unsigned number_of_nodes)
|
void SearchEngineData<CH>::InitializeOrClearMapMatchingThreadLocalStorage(unsigned number_of_nodes)
|
||||||
{
|
{
|
||||||
@ -114,11 +114,11 @@ void SearchEngineData<CH>::InitializeOrClearManyToManyThreadLocalStorage(unsigne
|
|||||||
|
|
||||||
// MLD
|
// MLD
|
||||||
using MLD = routing_algorithms::mld::Algorithm;
|
using MLD = routing_algorithms::mld::Algorithm;
|
||||||
SearchEngineData<MLD>::SearchEngineHeapPtr SearchEngineData<MLD>::forward_heap_1;
|
thread_local SearchEngineData<MLD>::SearchEngineHeapPtr SearchEngineData<MLD>::forward_heap_1;
|
||||||
SearchEngineData<MLD>::SearchEngineHeapPtr SearchEngineData<MLD>::reverse_heap_1;
|
thread_local SearchEngineData<MLD>::SearchEngineHeapPtr SearchEngineData<MLD>::reverse_heap_1;
|
||||||
SearchEngineData<MLD>::MapMatchingHeapPtr SearchEngineData<MLD>::map_matching_forward_heap_1;
|
thread_local SearchEngineData<MLD>::MapMatchingHeapPtr SearchEngineData<MLD>::map_matching_forward_heap_1;
|
||||||
SearchEngineData<MLD>::MapMatchingHeapPtr SearchEngineData<MLD>::map_matching_reverse_heap_1;
|
thread_local SearchEngineData<MLD>::MapMatchingHeapPtr SearchEngineData<MLD>::map_matching_reverse_heap_1;
|
||||||
SearchEngineData<MLD>::ManyToManyHeapPtr SearchEngineData<MLD>::many_to_many_heap;
|
thread_local SearchEngineData<MLD>::ManyToManyHeapPtr SearchEngineData<MLD>::many_to_many_heap;
|
||||||
|
|
||||||
void SearchEngineData<MLD>::InitializeOrClearMapMatchingThreadLocalStorage(
|
void SearchEngineData<MLD>::InitializeOrClearMapMatchingThreadLocalStorage(
|
||||||
unsigned number_of_nodes, unsigned number_of_boundary_nodes)
|
unsigned number_of_nodes, unsigned number_of_boundary_nodes)
|
||||||
|
Loading…
Reference in New Issue
Block a user