[OSM-dev] GraphHopper Maps 0.1

Peter K peathal at yahoo.de
Tue Jul 23 19:50:44 UTC 2013

Hi Frederik,

> I read that I can run GraphHopper with or without CH.

this is true. Currently you have the choice between A*/Dijkstra (simple,
bidirectional, bidirectional CH)

> or is the speed profile baked into the routing graph

The online demo is CH based and requires 3*16GB. If you'd use a none-CH
graph you would have all the flexibility BUT as you already said you
have to take care that the shortest path tree won't eat all the
available RAM (e.g. use a memory bound dijkstra). Or you'll have to make
compromises in the quality/'exactness' of the routes. With graphhopper
you have the choice. If you only need a rather smallish area like
bavaria (or even germany can work with tuning) you don't need CH.

All that was said under the fact that you are using the in-memory data
access method of graphhopper. But you can try graphhopper via a memory
mapped data access which is the default for Android and you won't need
lots of RAM which could be want you want for the CH-based stuff and
multiple profiles. But of course this will slow things down too, but I
don't know how much (will still depend on how many RAM is available).


> Hi,
> On 23.07.2013 09:22, Peter K wrote:
>> yesterday we released the first public version of our fast and Open
>> Source routing engine called GraphHopper.
> I'd like to understand better where this fits in between the purely A*
> gosmore and the CH-based osrm.
> With osrm, it is difficult to have multiple routing profiles on one
> machine because you have do compile a routing graph for each profile -
> a world-wide setup for "car, bike, foot" would take something like 150
> GB of memory on the server.
> With gosmore, this is easy since you only need one routing graph to
> support a multitude of profiles - not only car, bike, foot, but also
> motorcycle, HGV, and others. This flexibility comes at a noticeable
> speed penalty.
> I read that I can run GraphHopper with or without CH. Does that mean
> that when I run it without, I get the gosmore-like flexibility to
> evaluate edges at runtime, or is the speed profile baked into the
> routing graph (and therefore your demo server needs something like 64
> GB of RAM because it has three routing graphs)?
> Bye
> Frederik

More information about the dev mailing list