Jonathan G Rennison
117b56caeb
Linkgraph: Replace a std::list with a std::vector.
2017-02-08 22:08:39 +00:00
Jonathan G Rennison
c86a027e88
Linkgraph: Use an arena allocator for path objects.
...
Fixes leaks when job is aborted early.
2017-02-08 22:03:59 +00:00
Jonathan G Rennison
3f2c561867
Linkgraph: Add support for aborting MCF passes early.
2017-02-08 22:00:35 +00:00
Jonathan G Rennison
9d5f34fea6
Replace various uses of std::set/map with btree containers.
2017-02-08 00:18:09 +00:00
Jonathan G Rennison
7b56097f50
Merge branch 'master' into jgrpp
...
# Conflicts:
# config.lib
# src/linkgraph/demands.cpp
# src/linkgraph/mcf.cpp
# src/linkgraph/refresh.cpp
# src/linkgraph/refresh.h
# src/smallmap_gui.cpp
2016-07-24 10:16:55 +01:00
fonsinchen
a81b7a24a6
(svn r27613) -Codechange: Use a flat vector instead of a map in FlowEdgeIterator. (JGR)
2016-07-10 12:03:23 +00:00
fonsinchen
8d5566651b
(svn r27611) -Codechange: Cache the calculated value of CapacityAnnotation
2016-07-10 11:53:43 +00:00
Jonathan G Rennison
58b6bf16c3
Linkgraph: Enable MCF custom allocator only for GCC 4.9+
...
Earlier compilers don't use std::allocator_traits to query allocators.
2015-11-29 19:10:16 +00:00
Jonathan G Rennison
e22e1df939
Store annotation and node ID in set key, to reduce ptr derefs on sort.
...
Store the set iterator in the node, for faster erasing during forks.
Use a custom pool allocator to store set nodes contiguously.
2015-11-27 01:02:55 +00:00
Jonathan G Rennison
0fb79a8f15
Use a flat vector instead of a map in FlowEdgeIterator.
...
This reduced the cost of Dijkstra<CapacityAnnotation> by approx. 25%,
in a test profiling.
2015-11-26 18:23:10 +00:00
Jonathan G Rennison
564744d427
Cache the calculated value of CapacityAnnotation.
...
This is because CapacityAnnotation::Comparator::operator()
was appearing at the top of profiler output due to regenerating
the annotation value on every comparison when performing a set operation.
2015-11-25 23:05:55 +00:00
frosch
a14b836bf2
(svn r27178) -Fix [FS#5969]: Data race due to lazy initialisation of objects.
2015-03-07 18:27:01 +00:00
rubidium
0c2f4bdc2b
(svn r27020) -Cleanup: some coding style consistency improvements (mostly spaces)
2014-10-15 18:31:37 +00:00
fonsinchen
ef2caa02b2
(svn r26646) -Fix [FS#6041]: Save locations instead of distances in link graphs to reduce size.
2014-06-14 13:35:39 +00:00
rubidium
2be4215f43
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-04-23 20:13:33 +00:00
fonsinchen
6580fd4b8f
(svn r25885) -Codechange: Keep paths sorted so that the ones with flow == 0 are in the back and don't have to be iterated over so often.
2013-10-19 17:15:19 +00:00
fonsinchen
1cc410f7bb
(svn r25356) -Add: Multi-Commodity-Flow solver for link graph
2013-06-09 13:00:41 +00:00