Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only use route requests in plan mode #1137

Merged
merged 32 commits into from
Nov 8, 2024

Conversation

jcoupey
Copy link
Collaborator

@jcoupey jcoupey commented Jul 12, 2024

Issue

Fixes #444

Tasks

  • Expose relevant info from OsrmRoutedWrapper
  • Expose relevant info from ValhallaWrapper
  • Expose relevant info from ORSWrapper
  • Compute sparse matrices from HttpWrapper
  • Compute sparse matrices from LibosrmWrapper
  • Use sparse matrices from Input::set_matrices
  • Make sure to run route requests in parallel
  • Also store route geometries to populate solution
  • Update CHANGELOG.md
  • review

Copy link
Collaborator Author

@jcoupey jcoupey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still a UB problem with the edge case of multiple vehicles with same id.

src/routing/libosrm_wrapper.cpp Outdated Show resolved Hide resolved
@jcoupey
Copy link
Collaborator Author

jcoupey commented Nov 8, 2024

It's expected that the benefit for this PR grows with the number of involved locations. Benchmarking shows a small benefit for very small plan requests (think just a few locations). But I observed roughly:

  • a 2x speedup on real-life planning examples (routes in the tenths of stops);
  • a 10x speedup on custom instances with several hundreds locations (actual gain depends on the number of vehicles).

@jcoupey jcoupey merged commit 8df975f into master Nov 8, 2024
5 checks passed
@jcoupey jcoupey deleted the enhancement/bypass-matrix-for-plan branch November 12, 2024 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Bypass matrix request for plan mode
1 participant