http://mat.i2p/internet-roadtrip-pathfinder
From running a Flamegraph, I found that my functions related to getting options were slow, and particularly the code related to calculating the distance between two points was unexpectedly slow. ( get_options_no_turnaround and get_closest_pano_forward are the relevant ones here) Here’s mostly what my distance code looked like originally: pub fn distance ( a : Location , b : Location ) -> f64 { // copied from geo::Haversine.distance(a, b) let theta1 = a . lat . to_radians ( ) ; let theta2 =...