Opened 16 years ago
Last modified 9 years ago
#224 new enhancement
Static graph maps — at Initial Version
Reported by: | Alpar Juttner | Owned by: | Balazs Dezso |
---|---|---|---|
Priority: | minor | Milestone: | LEMON 1.5 release |
Component: | core | Version: | hg main |
Keywords: | Cc: | ||
Revision id: |
Description
Sometimes it would be nice to have a map which is not registered in the alteration notifier of the graph.
One reason might be running time efficiency, but the more important is multi-thread applications (see #223). Currently, it is not safe to run say two Dijkstra algorithms on the same graph in parallel, as they would allocate maps and register them into the alteration notifier simultaneously, which is not safe. Changing these map allocations to static one would solve this problem.
My suggestion is to use the standard maps with a special constructor for this purpose, e.g.
ListGraph::NodeMap<int> map1(g,STATIC); ListGraph::NodeMap<int> map1(g,15,STATIC);
or
ListGraph::NodeMap<int> map1(STATIC,g); ListGraph::NodeMap<int> map1(STATIC,g,15);
See also #223.