Daniel Patterson
a67c4bf84d
Calculating durations is unavoidable due to tie-breaking minimums, but we can avoid accumulating distances if they're not requested.
2018-10-30 15:41:06 -07:00
Daniel Patterson
498259b220
Replace dynamic distance calculation for table plugin with pre-calculated distances on shortcuts, avoiding unpacking cost.
...
Adds approx 10% to total data size. Speeds up large table requests by 2 orders of magnitude.
Co-authored-by: Kajari Ghosh <ghoshkaj@gmail.com>
2018-10-30 15:41:06 -07:00
Daniel Patterson
954121634f
Merge branch 'master' into ghoshkaj_mmaperize
2018-10-29 09:52:50 -07:00
Daniel Patterson
594a45e7e0
Re-use msinttypes bundled with RapidJSON when compiling on Windows. ( #5249 )
2018-10-29 09:51:56 -07:00
Daniel Patterson
b7e7d32361
Expose new --mmap switch
(mmap_memory: true
in NodeJS), and run test suite in this mode, as well as shared memory mode.
2018-10-26 23:54:00 -07:00
Daniel Patterson
2f9cb44368
mmap
tarfiles directly when mmapping is enabled, instead of copying data into separate mmapped block
...
Co-authored-by: Kajari Ghosh <ghoshkaj@gmail.com>
2018-10-26 23:53:59 -07:00
Daniel Patterson
d80318f8ea
Match serialized bit-packing for vector<bool> to match in-memory layout for vector_view<bool> so that data can be directly mmapped.
2018-10-26 23:53:50 -07:00
Kajari Ghosh
5597415f28
Revert "Improve speed of Map Matching" ( #5196 )
...
* Revert "Update changelog"
This reverts commit 9b779c704f
.
* Revert "Fix formating"
This reverts commit 5bd7d04fe3
.
* Revert "Fix bug in computation of distance offset for phantom node"
This reverts commit 0f78f7b2cc
.
* Revert "Adjust text cases for flightly different matching due to rounding"
This reverts commit 8473be69d2
.
* Revert "Round network distance to deci-meter to retain previous behavior"
This reverts commit c0124f7d77
.
* Revert "Preserve heap state in map matching"
This reverts commit b630b4e32a
.
* Revert "Use distance functions from many to many"
This reverts commit 89fabc1b9c
.
* Revert "Use FCC algorithm for map matching distance calculation"
This reverts commit a649a8a5cf
.
2018-09-06 12:05:28 -04:00
Daniel Patterson
0971f06193
Add option to node bindings to return result as a pre-generated JSON string (this avoids a lot of overhead, and moves JSON string rendering out of the main event loop).
2018-09-05 15:09:13 -07:00
Daniel Patterson
85515f063a
Render floating point numbers to string using Grisu2 algorithmt instead of stdlib to speed up JSON generation.
2018-09-05 14:20:47 -07:00
Daniel Patterson
69d7825542
Increase allowed shared memory regions to 512 from ~120
2018-09-05 11:48:02 -07:00
Patrick Niklaus
0f78f7b2cc
Fix bug in computation of distance offset for phantom node
2018-08-02 12:19:24 +02:00
Patrick Niklaus
b630b4e32a
Preserve heap state in map matching
2018-08-02 12:19:24 +02:00
Patrick Niklaus
89fabc1b9c
Use distance functions from many to many
2018-08-02 12:19:24 +02:00
Patrick Niklaus
a649a8a5cf
Use FCC algorithm for map matching distance calculation
2018-08-02 12:19:24 +02:00
Patrick Niklaus
c459530cb6
Address PR comments
2018-05-08 15:50:25 +00:00
Kajari Ghosh
2a15e6dec8
Add support for annotations=distances in MLD
...
This commit brings feature parity with CH for the `table` pluging.
2018-05-08 15:50:25 +00:00
Michael Krasnyk
cacb162520
Review and rebase updates
2018-04-28 08:59:18 +02:00
Michael Krasnyk
9695fa7941
Remove weight and duration from customizer::EdgeBasedGraphEdgeData
2018-04-28 08:59:18 +02:00
Michael Krasnyk
fd9bebbfa7
Add EBG node durations
2018-04-28 08:59:18 +02:00
Michael Krasnyk
db18e8669f
Always read .osrm.enw file in updater
2018-04-28 08:59:18 +02:00
Michael Krasnyk
9b4a4fdd82
Add customizer::MultiLevelGraph
2018-04-28 08:59:18 +02:00
Michael Krasnyk
8adbfe06ed
Throw an exception if a shared region is not found
2018-04-28 08:59:18 +02:00
Huyen Chau Nguyen
4e68f3a7e1
change haversine computation to cheap ruler in distance tables
2018-04-27 05:21:08 +02:00
Daniel Patterson
a6cf2eee7e
Use faster method for calculating distances.
...
fix cmakelist
2018-04-27 05:21:08 +02:00
Kajari Ghosh
89f6e2d55b
Parse table annotations param correctly ( #5050 )
...
* fix incorrect parameter parsing for node osrm and add tests
* fix boost spirit grammar parsing for annotations
* return NotImplemented when distance annotation is requested for MLD in table plugin
* update docs
2018-04-24 11:05:35 -04:00
Michael Krasnyk
c628ecbf24
Update tile unit tests
2018-04-24 15:40:57 +02:00
Kajari Ghosh
14860b62e9
Unpack paths and return total distance in matrix plugin for CH ( #4990 )
2018-04-20 18:18:55 -04:00
Michael Krasnyk
b2aeb47630
Remove dummy edges before inplace permutation
2018-04-19 12:18:48 +02:00
karenzshea
e3b831364f
empty list of shmem regions if none found
2018-04-13 12:07:10 +02:00
karenzshea
730d2b5ef2
log err instead of throwing when no shmem regions found
2018-04-13 12:07:10 +02:00
Michael Krasnyk
16abee1022
Avoid using signed integers for edge IDs
2018-04-12 10:03:37 +02:00
Michael Krasnyk
17cd1575f6
Use base-256 encoding for files larger 68G
...
Reference:
http://lists.busybox.net/pipermail/busybox/2011-May/075596.html
2018-04-10 21:12:39 +02:00
Patrick Niklaus
473ebfcbf6
Fix debug printing for coordinates
2018-04-10 18:08:18 +02:00
Michael Krasnyk
c4bf450fc6
Restore storage constructors with one arguments
2018-04-09 15:08:00 +02:00
Patrick Niklaus
bf2b45120a
Use ArrayStorage for boundary nodes to optimize MLD
...
For the MLD algorithm we can partition the NodeID range into boundary
and non-boundary nodes. Since there are only we boundary nodes we can
use the ArrayStorage for those yielding much faster query times.
2018-04-09 15:08:00 +02:00
Patrick Niklaus
7edf0f218c
Better statistics for osrm-partition and osrm-custimize
2018-04-09 13:39:39 +02:00
Patrick Niklaus
600ca06166
Simplify toEdges and make it more robust against accidental memory allocations
2018-04-09 13:03:28 +02:00
Michael Krasnyk
8d8042ebae
Use ranges with fixed types
2018-04-09 11:05:01 +02:00
Kajari Ghosh
be123cd72f
Use ranges in datafacade instead of vectors
...
Range type must use immutable references due to a
regression in `boost::any_range`.
References:
https://svn.boost.org/trac10/ticket/10493
https://stackoverflow.com/questions/42427395/boostany-range-with-optimization-level-o2-causes-crash/42427662
2018-04-09 11:05:01 +02:00
Patrick Niklaus
29d1b34140
Fix formating
2018-04-07 00:22:29 +02:00
Patrick Niklaus
a915542916
Add option to only update the metric dependent data
2018-04-07 00:22:29 +02:00
Patrick Niklaus
fea07f343b
Load data in two separate data regions
2018-04-07 00:22:29 +02:00
Patrick Niklaus
c7daa521ad
Address PR comments
2018-04-05 15:12:47 +02:00
Patrick Niklaus
4610fd9ff1
Fix formating
2018-04-05 15:12:47 +02:00
Patrick Niklaus
0e8b8b4901
Add nodejs test for dataset name
2018-04-05 15:12:47 +02:00
Patrick Niklaus
2c80f76004
Add support for naming the dataset
2018-04-05 15:12:47 +02:00
Patrick Niklaus
666ce46d36
Refactor shared memory storage to allow for multiple named datasets
2018-04-05 15:12:47 +02:00
Michael Krasnyk
bc120776f0
Don't apply unimplemented SH and PH conditions
2018-04-05 13:31:48 +02:00
Patrick Niklaus
51fe0dd5a0
Add missing check of a tar writing function
2018-04-05 00:54:50 +02:00