Daniel Patterson
b9a4c322a7
Add ability to debug routing graph visually by dumping
...
annotated GeoJSON during processing.
2015-11-19 10:41:44 -05:00
Daniel Patterson
6228412e61
Enable just-before-contraction updates to edge weights. For small
...
datasets, this enables things like traffic-based updates in the
shortest possible processing turnaround time.
2015-11-18 16:14:08 -05:00
Patrick Niklaus
63ba6018f3
Cache the node priorities between runs
...
This speeds up processings on the same dataset significantly by creating
a .level file that saves the level in which a node was contracted.
It removes the need for expensive recomputation of priorities and such.
Use with care! Running `osrm-extract` again will invalidate .level
files.
2015-11-18 00:56:33 +01:00
Daniel Patterson
e45656e5bf
Refactor edge expansion into extract phase. New temporary file is generated - '.osrm.ebg' which is used by
2015-10-06 09:23:17 -07:00
Daniel J. Hofmann
809bdb7c1f
Fixes version generation, no longer derives version on git tags.
...
We were stuck on the 4.5.0 tag from develop, since we searched for the
latest tag, but release tags are done on the master branch.
This commit rips out all the code for deriving the version on git tags.
Instead, we define major, minor, and patch versions in the CMakeLists
and then pass it on to:
- the `libosrm.pc` `pkg-config` file
- a `version.hpp` header that makes use of the preprocessor's string
concatenation to provide an easy way for generating version string
literals such as "v4.8.0".
That is, in the source code please now use the following defines:
#define OSRM_VERSION_MAJOR "@OSRM_VERSION_MAJOR@"
#define OSRM_VERSION_MINOR "@OSRM_VERSION_MINOR@"
#define OSRM_VERSION_PATCH "@OSRM_VERSION_PATCH@"
#define OSRM_VERSION "v" OSRM_VERSION_MAJOR "." OSRM_VERSION_MINOR "." OSRM_VERSION_PATCH
2015-09-30 18:22:25 +02:00
Daniel J. Hofmann
6e6b38e8e9
Revert the usage of TBB's iterator pair taking overloads.
...
This reverts the range based overload usage introduced in @6b2bf495.
Old TBB versions do not provide the range overloads.
2015-09-28 20:37:09 +02:00
Daniel J. Hofmann
9231335eef
Use Intel TBB's parallel_sort even for nested parallelism.
...
TBB has a global task scheduler (that's one of the reason TBB is not
linked statically but dyanmically instead). This allows control over all
running threads, enabling us to use nested parallelism and the scheduler
doing all the task allocation itself.
That is, nested parallel execution such as in
parallel_for(seq, [](const auto& rng){
parallel_sort(rng);
});
is no problem at all, as the scheduler still claims control over the
global environment.
Therefore, use `parallel_sort` Range overload where possible.
References:
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#reference/algorithms.htm
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#reference/algorithms/parallel_sort_func.htm
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#reference/task_scheduler.htm
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#reference/task_scheduler/task_scheduler_init_cls.htm
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#tbb_userguide/Initializing_and_Terminating_the_Library.htm
2015-09-28 20:26:03 +02:00
Daniel J. Hofmann
4fa9022932
Use iterator pair taking parallel_sort, old TBB versions have no range overload.
2015-09-10 11:04:50 +02:00
Daniel J. Hofmann
f10fb77a81
Ownership: vector already owns, no need for wrapping in unique_ptr.
...
Removes the pointless `std::unique_ptr<std::vector<T>>` usage,
as a `std::vector` already owns its resources and manages them.
Results in one indirection less (hint: good).
2015-09-09 18:53:11 +02:00
Daniel J. Hofmann
9a0877379c
Remove dead code.
2015-08-20 16:15:20 +02:00
Patrick Niklaus
707dd700b0
Write number of markers to .core file
2015-08-19 12:27:44 +02:00
Patrick Niklaus
ddff9b612f
Serialize out .core file containing core node markers
2015-08-19 12:27:44 +02:00
Patrick Niklaus
c43a2513a8
Rename tiny_components.hpp to tarjan_scc.hpp
...
Fixes #1561
2015-08-12 13:02:18 +02:00
Patrick Niklaus
d4356b0453
Move comparators to struct
2015-08-06 11:13:25 +02:00
Patrick Niklaus
35542e5823
Change interface of Tarjan get_component_size to take component id
2015-08-06 11:13:25 +02:00
Patrick Niklaus
c80c2233c5
Find components on edge-expanded graph
2015-08-06 11:13:25 +02:00
MoKob
b526cadebd
Initial version of core ch
...
This improves preprocessing times in favour of worse query performance.
Core size can be set over the --core parameater, default is the old
behaviour to fully contract the graph.
2015-08-01 18:00:48 +02:00
Patrick Niklaus
922e8a4912
Return the correct size
2015-07-01 18:07:29 +02:00
Patrick Niklaus
021a1c7a39
Restructure the construction of the undirected graph
2015-07-01 18:07:29 +02:00
Patrick Niklaus
fd30e82836
Add graph compressor unit tests
2015-07-01 18:07:29 +02:00
Patrick Niklaus
3ef34fbb56
Rename GeometryCompressor and add unit tests
2015-07-01 18:07:29 +02:00
Patrick Niklaus
7345dc6861
Move graph compression code outside of EBGF
2015-07-01 18:07:29 +02:00
Patrick Niklaus
94b749ab00
Fix magic number check for fingerprint
2015-06-19 17:51:35 +02:00
Patrick Niklaus
3065de63dd
Move renumbering and edge deduplication in extractor
2015-06-01 17:22:12 +02:00
Patrick Niklaus
a57fb4f1ab
First step into overhauling the edge storage
2015-06-01 17:22:12 +02:00
Patrick Niklaus
abc0952247
Fix accessing DeallocatingVector
2015-05-28 22:22:02 +02:00
Patrick Niklaus
a46bcf45d5
Move option parsing to own class
2015-05-28 15:18:48 +02:00
Patrick Niklaus
1f985d04a2
Move writing graph to an own function
2015-05-28 15:18:48 +02:00
Patrick Niklaus
d64e6e6c1f
Move more function from Run in subfunctions
2015-05-28 15:18:48 +02:00
Patrick Niklaus
1164a65df8
Refactor processing_chain by splitting into sub functions
2015-05-28 15:18:48 +02:00
Dennis Luxen
b20b7e65bf
renamed: Util/* -> util/*
2015-01-27 17:47:23 +01:00
Dennis Luxen
baacd0e50c
reformat source files
2015-01-22 12:24:54 +01:00
Dennis Luxen
25326b571b
renamed: Util/OSRMException.h -> Util/osrm_exception.hpp
2015-01-05 15:40:05 +01:00
Dennis Luxen
2caeb4008c
renamed: Util/GitDescription.cpp.in -> Util/git_sha.cpp.in
...
renamed: Util/GitDescription.h -> Util/git_sha.h
2015-01-05 14:32:04 +01:00
Dennis Luxen
fe1f11b071
renamed: Util/StringUtil.h -> Util/string_util.hpp
2015-01-05 10:22:11 +01:00
Dennis Luxen
ccc4607d6d
renamed: Util/GraphLoader.h -> Util/graph_loader.hpp
2014-12-22 16:09:01 +01:00
Dennis Luxen
13bf4fab32
make implementation of restriction map independent of graph type
2014-12-19 16:46:12 +01:00
Dennis Luxen
2ebe2faa74
renamed Util/TimingUtil.h -> Util/timing_util.hpp
2014-12-17 17:33:31 +01:00
Dennis Luxen
58de37e822
renamed: DataStructures/* -> data_structures/*
2014-11-28 12:15:31 +01:00
Dennis Luxen
7b3a0c5105
renamed: Contractor/* -> contractor/*
2014-11-28 10:30:21 +01:00