Additional road network extractor that works in external memory.

This commit is contained in:
Dennis Luxen
2010-07-15 14:45:43 +00:00
parent 72e314d1c0
commit 4df82206b4
5 changed files with 582 additions and 4 deletions
+2 -1
View File
@@ -2,4 +2,5 @@ Third Party Libraries:
Boost 1.37+
kdtree++ 0.7+ (0.62 does not work with g++ 4.0+)
sparsehash 1.4+
sparsehash 1.4+
stxxl 1.2.1+
+8 -1
View File
@@ -34,4 +34,11 @@ Q: How fast is this thing?
A: Good question. Here is a number. The engine was able to handle more than
2800 requests per Minute on the German road network with the travel time
metric on a Core 2 Duo. This also includes transfer of data across a
switched 100MBit/s LAN. So, I guess it's fair to say it's fast.
switched 100MBit/s LAN. So, I guess it's fair to say it's fast.
Q: What is the difference between extractNetwork and extractLargeNetwork?
A: extractNetwork does all of its magic in RAM, while extractLargeNetwork uses the
stxxl library to store the data in external memory. Use the first one for small
networks, but beware of running out of RAM. Swapping is the kiss of death. For
larger networks use extractLargeNetwork. It will be somewhat slower on the
smaller files, but way faster with large ones like the planet file.
-2
View File
@@ -8,5 +8,3 @@ The server part is mostly adapted from the boost http examples. It should be rep
The KD-Tree uses a lot of RAM. An own implementation might be better.
Use Boost to compress all in-/output streams to the file system
Rework extractor to be fully externalized