[OSRM-talk] Road speeds and profile restrictions

Richard Marsden winwaed at gmail.com
Thu Sep 17 20:06:12 UTC 2015

I've been evaluating OSRM, using it primarily as a library from C++.

I believe I've determined the answer to most of the questions, but I'm
also looking for confirmation.
(I understand the reason for these constraints - the trade-off of
speed vs flexibility)

First, road speeds are set with 'profile.lua' at the osrm-extract
stage. This filters out unnecessary roads (eg. foot paths for car
routing), but also applies the road speeds.
If I wish to change the speed profile, I need to regenerate the road
network with osrm-extract and osrm-routed.

If I wanted different speeds for the final distance/time calculations,
I could use the returned route, and apply my own speed table according
to the road type of each road segment. This would not, of course,
change the route geometry is calculated.

If I want a shortest route (distance optimized) instead of a quickest
route (time optimized), I need to set all the road speeds to the same
speed and regenerate the network. I.e. osrm does not directly support
the concept of a "shortest route".

The profile is provided with a LUA file. I had to look this one up :-)
Looks a useful scripting language, but why is this profile a script
file, and not a simple configuration file of constants (eg. key-value
Seems like an unnecessary complexity - I'd like to understand the
perceived advantages. What is that extra power used for?

Finally, the memory usage... I saw a reference to the server requiring
40GB of memory for pan-European routing. Presumably that could be
offset with a large swap file(?)
A large swap file has worked well when I was testing the US-South
region on an 8GB machine.
Presumably I could do the same for world preparation & routing? Have,
perhaps a 100GB+ swap file, ideally on an SSD.


Richard Marsden

More information about the OSRM-talk mailing list