osrm-backend icon indicating copy to clipboard operation
osrm-backend copied to clipboard

Compress routing graph

Open danpat opened this issue 7 years ago • 2 comments

Currently, OSRM stores/loads the routing graph in a fairly naive adjacency list structure consisting of simple lists of edge and node data.

https://github.com/Project-OSRM/osrm-backend/blob/master/include/util/static_graph.hpp#L315-L320

There are a couple of papers that describe techniques for more efficiently compressing graph data structures, such as:

Compact Representations of Separable Graphs - https://www.cs.cmu.edu/~guyb/papers/BBK03.pdf

Log(Graph): A Near-Optimal High-Performance Graph Representation - https://spcl.inf.ethz.ch/Research/Performance/LogGraph/loggraph_full.pdf

There are several techniques described in these papers that we could implement in OSRM to reduce some data structure sizes significantly (in particlar, the .hsgr file).

danpat avatar Oct 02 '18 02:10 danpat