HGEdge::route_names_and_systems has a lot of redundancy, duplicating list_entry_name strings across many segments.
- Option 1:
Save list_entry_names with Routes; just store pointers here.
- Save a boatload of RAM.
- Save time in initial edge construction.
- Save time in deep list copies in collapse constructor.
- Leverage stored strings to save time in other areas, e.g.
canonical_waypoint_name.
- Option 2
Investigate deleting route_names_and_systems completely.
- Save even more RAM.
- Save even more time in both edge constructors.
- Effects on speed?
HighwayGraph::matching_vertices_and_edgesHGEdge::write_label
HGEdge::route_names_and_systemshas a lot of redundancy, duplicatinglist_entry_namestrings across many segments.Save
list_entry_names with Routes; just store pointers here.canonical_waypoint_name.Investigate deleting
route_names_and_systemscompletely.HighwayGraph::matching_vertices_and_edgesHGEdge::write_label