Skip to content

Conversation

@rustprooflabs
Copy link
Owner

Details

Colorado Roads network has been okay performance wise, running between 6 - 16 minutes on my laptop (while many browser tabs open, playing music, etc). This is with 1,192,543 input rows generating 2,538,882 output rows in edge network.

The Colorado osm.water_line data grinds to a halt in the initial_intersections step, even though it's only 464,807 input rows that outputs 519,597 edges.

@rustprooflabs
Copy link
Owner Author

What changed

I split the intersection detection into two steps. First combines all possible combos using bounding box, second performs actual intersection check and creates the blade. Splitting the queries fixed whatever issue was hanging up the water processing. I also removed unnecessary columns from intermediate temp tables, a few were geom columns that added unnecessary I/O load.

Timings from testing

Timing for the road network is well within the bounds I'm starting to expect on my laptop after the last few rounds of testing I've done. The waterway network is proportionately faster as expected due to its smaller network size.

Data is Colorado subregion downloaded from geofabrik today.

--    * 10 min 52 sec
CALL osm.routing_prepare_road_network();


-- CO Timings:
--    * 3 minutes 2 seconds
CALL osm.routing_prepare_water_network();

@rustprooflabs rustprooflabs added the bug Something isn't working label Jan 2, 2026
@rustprooflabs rustprooflabs added this to the 1.2.2 milestone Jan 2, 2026
@rustprooflabs rustprooflabs merged commit 49ac9fe into main Jan 2, 2026
4 checks passed
@rustprooflabs rustprooflabs deleted the route-network-performance-improvements branch January 2, 2026 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working Performance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants