Patrick Niklaus
ef60ae652c
Fix edge cases in RangeTable
2014-06-12 22:01:23 +02:00
Patrick Niklaus
50bf7694c2
Constify some parts of RangeTable
2014-06-12 22:01:22 +02:00
Patrick Niklaus
807f1d7c1c
Initial support for SharedDataFacade
...
SharedDataLayout was refactored to include canary values at the
boundaries of each memory block. This makes it easy to detect overruns
and block-size mismatches between osrm-datastore and the
SharedDataFacade.
2014-06-12 22:01:22 +02:00
Patrick Niklaus
7a7d0c09d9
Integrate RangeTable into server
2014-06-12 22:00:03 +02:00
Patrick Niklaus
f90ce77da4
Use differential encoding for name offsets
...
Each name is represented as an integer range in a vector of chars.
Instead of storing the absolute offset inside this array, we can store
only the offset to the previous entry (the string size). By doing this we reduce
the number of bytes need to store an offset from 4 to 1 bytes (if we
set a maximum string length of 255).
This is however slower, since the absolute offset must be computed on
each querry by summing up all previous lengths. To limit the
performance inpact we only do this for blocks of a certain size (16).
2014-06-12 22:00:03 +02:00
Dennis Luxen
44c6a64bf4
make c'tor of NodeInfo explicit
2014-06-11 18:26:34 +02:00
Dennis Luxen
ed01eeaeb3
reformat SharedMemoryFactory according to code guidelines
2014-06-11 15:22:51 +02:00
alex85k
3282d410c4
Add basic shared memory support for Windows OS
2014-06-11 18:15:17 +06:00
Dennis Luxen
8aee371d81
further include untangling, chops 5sec compile time
2014-06-11 12:25:57 +02:00
Dennis Luxen
621a5a86a0
fixes #1041 , some only_ turn restrictions are inverted under certain conditions
2014-06-10 17:26:05 +02:00
Dennis Luxen
28a53aa147
remove superflous include
2014-06-06 19:18:44 +02:00
Dennis Luxen
67bcb98a84
make some constants explicit floats to cut down on MSVC conversion warnings
2014-06-06 15:39:29 +02:00
Alexei Kasatkin
b6787b0014
safeguard: do not read/write 0 bytes (iostream)
2014-06-05 23:16:19 +06:00
alex85k
a03b698e5a
simplify static asserts
...
Simplify static asserts to make them compatible with older compilers and MSVC 2013
2014-06-05 22:55:22 +06:00
Dennis Luxen
964118d1d6
add more comments and rename a couple of badly named variables
2014-06-05 17:27:00 +02:00
Dennis Luxen
f68af08931
fix short variable names and long lines
2014-06-05 15:40:52 +02:00
Dennis Luxen
cdd5a41965
remove duplicate edges from NodeBasedGraph
2014-06-05 15:33:24 +02:00
Dennis Luxen
1163417722
Merge branch 'patch-timing' of https://github.com/alex85k/Project-OSRM into alex85k-patch-timing
...
Conflicts:
extractor.cpp
2014-06-05 11:22:26 +02:00
alex85k
75dabb75e2
Use TimingUtil.h for all time measurement,
...
and make TimingUtil.h Windows-compatible
2014-06-04 19:52:34 +06:00
alex85k
15adcd24be
Remove extra mutex unlocking in ConcurrentQueue.h
...
As discussed in https://github.com/DennisOSRM/Project-OSRM/pull/998 , unlocking the mutex is performed on destruction. Second unlocking gives an assertion (for debug version) for Windows and FreeBSD 10.
2014-06-04 18:01:48 +06:00
Dennis Luxen
6a29168c14
use EdgeWeight typedef where possible
2014-06-03 11:28:39 +02:00
Dennis Luxen
4bc8562cd0
further reduce lint
2014-06-02 18:18:03 +02:00
Dennis Luxen
21eb5b661d
add integer based approximation for perpendicular distance
2014-05-30 14:33:37 +02:00
Dennis Luxen
87fe073118
re-layout parameters
2014-05-30 13:30:54 +02:00
Dennis Luxen
507dadebf4
fix a couple of variable names
2014-05-30 10:15:35 +02:00
Dennis Luxen
7dac8c621c
fix a couple of OCLint warning, i.e. short variable names and useless parantheses
2014-05-30 10:01:55 +02:00
Dennis Luxen
c21b40bebc
further renaming of variable names, reduces legacy lint
2014-05-29 19:25:17 +02:00
Dennis Luxen
0766c3c62d
refactor member names in ImportEdge
2014-05-29 18:46:20 +02:00
Dennis Luxen
cc40eb709c
moved ImportNode/Edge into compile units
2014-05-29 18:31:20 +02:00
Dennis Luxen
3625308585
moved ImportNode/Edge into compile units
2014-05-29 18:31:02 +02:00
Dennis Luxen
df3a7676eb
streamline branch-and-bound query code in R-tree
2014-05-29 17:16:24 +02:00
Dennis Luxen
8f6077e973
add proper c'tor to PhantomNode
2014-05-29 17:15:41 +02:00
Dennis Luxen
a67de410bf
move TreeNode exploration into its own function, fix performance regression
2014-05-29 15:36:14 +02:00
Dennis Luxen
df978345d7
rename start->source
2014-05-28 18:20:47 +02:00
Dennis Luxen
facc07c60d
use correct edge weight type in PathData
2014-05-28 18:20:29 +02:00
Dennis Luxen
38ebdbb563
implements #949 , wrong duration on first segment
2014-05-27 16:54:10 +02:00
Dennis Luxen
0ab6220635
add some more constness
2014-05-26 18:35:37 +02:00
Dennis Luxen
c35211b2f6
add some const keywords where applicable
2014-05-26 17:37:44 +02:00
Dennis Luxen
d3906cffdc
add property to mark end of leg
2014-05-26 15:30:06 +02:00
Dennis Luxen
5db23f7e46
make short variable names more legible
2014-05-26 12:49:24 +02:00
Dennis Luxen
58b35f6e2d
make short variable names more legible
2014-05-26 12:41:25 +02:00
Dennis Luxen
b51ad16756
remove useless parantheses
2014-05-26 12:37:00 +02:00
Dennis Luxen
d240ae3b03
sort edges in StaticGraph in parallel
2014-05-23 14:32:40 +02:00
Dennis Luxen
5057ae920c
replace a couple of std::sort calls with tbb::parallel_sort
2014-05-22 19:07:29 +02:00
Dennis Luxen
6a03f13d55
fixes #1032 :
...
- remove left-overs from OpenMP
- replace omp_* calls with TBB equivalents
2014-05-22 18:39:11 +02:00
Dennis Luxen
885dbe1e65
Merge pull request #1028 from TheMarex/tbb-port
...
Port from OpenMP to TBB
2014-05-22 16:57:06 +02:00
Dennis Luxen
7d7cce5c72
add better and more precise comments to Restrictionmap
2014-05-22 14:53:53 +02:00
Dennis Luxen
0c66f84555
add static assertions to SearchEngine
2014-05-22 14:41:27 +02:00
Dennis Luxen
044e41c079
make temporary variables const
2014-05-22 14:41:02 +02:00
Dennis Luxen
d93b4feb99
add some static asserts to guard against memory usage regressions
2014-05-22 12:41:25 +02:00
Dennis Luxen
f52d637f58
do less work when compressing geometries
2014-05-22 11:41:32 +02:00
Patrick Niklaus
77641a9fce
Port StaticRTree to use TBB
2014-05-21 21:49:22 +02:00
Patrick Niklaus
56d93eb18b
Replace omp atomic with std variant
2014-05-21 21:49:22 +02:00
Dennis Luxen
35c9021bdf
reduce debug verbosity in RestrictionMap
2014-05-21 12:39:52 +02:00
Dennis Luxen
493b13364f
move geographical distance computation to floats
2014-05-21 12:33:54 +02:00
Dennis Luxen
9117b45899
move more distance calculations to float
2014-05-21 10:03:30 +02:00
Dennis Luxen
812cf36d52
use floats instead of doubles for distance computations
2014-05-20 19:29:09 +02:00
Dennis Luxen
1802839a22
add approximator for perpendicular distance
2014-05-20 16:23:47 +02:00
Dennis Luxen
9a2d701e2e
fix issue #1025 :
...
- add function to count directed outgoing edges
- generate correct instruction for staying on a roundabout
- move test from @bug namespace to the general one
2014-05-20 15:40:14 +02:00
Dennis Luxen
69ad3f3365
add curly braces to one line if
2014-05-20 15:37:18 +02:00
Dennis Luxen
0574a60bc2
replace boost::unordered_map, move hash function for pairs into its own header
2014-05-20 14:33:02 +02:00
Dennis Luxen
e490c4afed
use consistent typedef'ed types
2014-05-20 14:33:02 +02:00
Dennis Luxen
d028a30f87
fixes issue #1019 :
...
- fix ignored turn restriction on chains of degree-2 nodes
- add a cucumber test to test for potential regressions
2014-05-20 14:33:02 +02:00
Dennis Luxen
a122a1e8c7
remove comment
2014-05-20 14:33:02 +02:00
Dennis Luxen
8fe09c85b6
move atan2 lookup into trig header
2014-05-20 14:33:02 +02:00
Dennis Luxen
bc951de2a5
use trig functions from std namespace
2014-05-20 14:33:01 +02:00
Dennis Luxen
8983c0f927
move GetBearing(.) function into FixedPointCoordinate
2014-05-20 14:33:01 +02:00
Dennis Luxen
a47467f29b
store facade ptr in c'tor, save a param in sub-sequent function calls
2014-05-20 14:33:01 +02:00
Dennis Luxen
a80815d57a
implements output generation through a dedicated JSON container:
...
- JSON syntax is not scattered over several files, but one place
- Reduces code duplication
- breaking changes:
- new property in json(p) formatted response: "found_alternative": True/False
- returned filenames now response.js(on) or route.gpx
- /hello plugin returns JSON now
2014-05-20 14:33:00 +02:00
Dennis Luxen
acab77f4f8
add simple isValid() function to PhantomNodes
2014-05-20 14:33:00 +02:00
Dennis Luxen
e769821e0f
use range based for loops to traverse graphs
2014-05-13 16:56:30 +02:00
Dennis Luxen
35c5be6475
add missing includes <string> and <limits>
2014-05-10 14:54:46 +02:00
Dennis Luxen
985a8e9f97
removing boost cref and betting on move semantics
2014-05-09 19:10:11 +02:00
Dennis Luxen
5e26e4c22d
replacing all boost unordereds
2014-05-09 18:40:07 +02:00
Dennis Luxen
b3ec9c9323
reformat
2014-05-09 16:48:58 +02:00
Dennis Luxen
84ffedd95d
replace boost::shared_ptr
2014-05-09 16:47:42 +02:00
Dennis Luxen
694ce9d04f
add forgotten include
2014-05-09 15:12:42 +02:00
Dennis Luxen
aebe8572f9
reformat NodeBasedGraph
2014-05-09 14:21:52 +02:00
Patrick Niklaus
e00ef38305
Apply clang-format on BFSComponentExplorer and RestrictionMap
2014-05-09 00:37:05 +02:00
Patrick Niklaus
22d0861f6d
Move BFSComponentExplorer to Contractor/
2014-05-09 00:37:05 +02:00
Patrick Niklaus
5265f38c35
Switched to std::shared_ptr in Contractor/
2014-05-09 00:37:05 +02:00
Patrick Niklaus
5a13c6cc3f
Move BFSComponentExplorer to own header.
2014-05-09 00:05:27 +02:00
Patrick Niklaus
2c0fa2a9f6
Split RestrictionMap and NodeBasedGraph from EdgeBasedGraphFactory
...
First step in an effort to simplify EdgeBasedGraphFactory.
2014-05-09 00:05:27 +02:00
Dennis Luxen
f060dfda40
refactor list of const static int into scoped enum
2014-05-08 18:04:05 +02:00
Dennis Luxen
b0ead129ca
use proper types instead of implicit casts
2014-05-08 16:39:38 +02:00
Dennis Luxen
15a95ff425
remove superflous includes
2014-05-08 15:49:32 +02:00
Dennis Luxen
37b8f97d60
C++11 migration:
...
- use lambda functions instead of binding member functions
- replace boost::mutex by STLs <mutex>
- reformat according to new guidelines
2014-05-08 15:47:48 +02:00
Dennis Luxen
9587923e55
make variable names consistent, migrate Plugins
2014-05-08 11:15:19 +02:00
Dennis Luxen
bed5c8002f
pass parameter by ref instead of by val:
...
- fixes coverity issue 1212009 Big parameter passed by value
2014-05-08 08:48:55 +02:00
Dennis Luxen
e12ad48822
migrate DataStructures to C++11
2014-05-07 18:39:16 +02:00
Dennis Luxen
6abbb06ff6
replace UINT_MAX by numeric limits max()
2014-05-07 17:25:35 +02:00
Dennis Luxen
5d8b4cb261
use numeric limits instead of C-style UINT_MAX
2014-05-07 15:37:22 +02:00
Dennis Luxen
9ee615020f
break out RouteParameters into compile unit
2014-05-07 15:36:53 +02:00
Dennis Luxen
0ff7ac6aad
migrate HilbertValue class to C++11, use fwd decl, remove boost/integer
2014-05-07 14:47:23 +02:00
Dennis Luxen
859502c504
remove boost/integer include
2014-05-07 14:46:46 +02:00
Dennis Luxen
9c2926ef8a
remove boost/integer include
2014-05-07 14:44:18 +02:00
Dennis Luxen
8e89f80588
make space usage more tight in Coordinate->String conversion
2014-05-07 14:12:57 +02:00
Dennis Luxen
dd4461d473
remove broken assert
2014-05-07 10:39:34 +02:00
Dennis Luxen
2706a0bec1
revert:
...
- GCC <4.8 does not support thread_local keyword.
- sticking with boost::thread_specific_ptr<> for now
2014-05-07 10:39:34 +02:00
Dennis Luxen
46b207e08e
mega-patch:
...
- fix regression that turned tree into binary search
- use C++11 emplace and thread local facility
- sort out includes
- use much faster approximations to save on trigonometry
- use higher fan-out but make leafs a little more compact
- replace raw C-style array by C++11's std::array
2014-05-07 10:39:34 +02:00