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

Performance & memory improvements #57

Open
leonardehrenfried opened this issue Apr 19, 2021 · 0 comments
Open

Performance & memory improvements #57

leonardehrenfried opened this issue Apr 19, 2021 · 0 comments
Labels

Comments

@leonardehrenfried
Copy link
Collaborator

The bulk of the memory consumed by OTP is in the road network. We would like to decrease this number in order to fit larger areas (ie. the entirety of Germany) into a single machine.
Ideas to decrease memory usage:

  • Use smaller data types: it seems that things are needlessly stored in integers what should be byte or short
  • bicycleSafetyValue is a float when it could be a short
  • traversalPermission is a reference (potentially 4 bytes) when it could of type byte
  • streetClass is an int when it could be a byte
  • Use bitsets to store all road properties
  • Outgoing edge lists in the index are ArrayLists of capacity 10, when often they contain far fewer items
  • Vertex labels contain the OSM vertex id as a string. Calculate it on the fly rather than storing it

Other ideas to improve are very welcome.

@leonardehrenfried leonardehrenfried changed the title Perfomance & memory improvements Performance & memory improvements Apr 19, 2021
leonardehrenfried pushed a commit that referenced this issue Sep 13, 2021
Add ability to report errors to Bugsnag
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant