You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To optimize performance for large graphs, I have some ideas that could potentially improve the process. Currently, with every call to pgRouting, there is a time overhead for loading the graph from the PostgreSQL database and building the Boost C++ graph structure internally before running the algorithm.
My idea is to explore two possible approaches:
Keep the Graph in RAM:
It is possible to load the entire graph from the PostgreSQL database into RAM and keep it there during the lifetime of the application or API. By doing so, subsequent calls to the routing algorithm can directly access the graph data in memory, significantly reducing the overhead of loading the graph from the database each time.
Generate Boost Graph Structure in RAM:
If keeping the entire graph in RAM is not feasible due to size constraints, another approach is to generate the Boost C++ graph structure directly in memory and cache it for subsequent algorithm calls.
The text was updated successfully, but these errors were encountered:
The thought looks interesting, but with the experience with graphs "on real roadneworks":
The road network for a car
is different for a pedestrian
is different for a truck A that weight X
is different for a truck B with weight Y and height Z.
is different at different times of day
But there might be problems where the graph might be static for a long period of time.
We meet on gitter and discussions with all developers take place at discourse.osgeo.org (look for pgrouting-dev)
To optimize performance for large graphs, I have some ideas that could potentially improve the process. Currently, with every call to pgRouting, there is a time overhead for loading the graph from the PostgreSQL database and building the Boost C++ graph structure internally before running the algorithm.
My idea is to explore two possible approaches:
Keep the Graph in RAM:
It is possible to load the entire graph from the PostgreSQL database into RAM and keep it there during the lifetime of the application or API. By doing so, subsequent calls to the routing algorithm can directly access the graph data in memory, significantly reducing the overhead of loading the graph from the database each time.
Generate Boost Graph Structure in RAM:
If keeping the entire graph in RAM is not feasible due to size constraints, another approach is to generate the Boost C++ graph structure directly in memory and cache it for subsequent algorithm calls.
The text was updated successfully, but these errors were encountered: