Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Lookups in just_gtfs are done on
std::vector
s withstd::find
. This is slow if you do a lot of looking up things by id which, many workflows could forseeably do.These same lookups also make copies of the structs they look up, presumably so they can signal that they have not found a certain thing by its id using
std::optional
(which cannot hold a const reference).This pr changes that by:
gtfs::valid
which makes use of the equality operator to check for equality with a default constructed objectthese changes made huge improvements in performance cutting the time to process even a small feed from 6 minutes down to 80 seconds, about an 80% reduction.
see valhalla/valhalla#4167 for more info