However, the long-distance solution I am working on is "fast-partial-recalculation": the idea is that if a route to the same destination-point and for the same routing-profile is already known, a partial recalculation is done and the result is a combination of the old and the new calculation. This way you can do a long-distance calculation by starting the brouter-app, but then have fast recalculations if you follow the route and get off the track.
Today I deployed version 0.95 of BRouter ( see
http://brensche.de/brouter/revisions.html ) which contains basically this mechanism.
I also did some "hard-work" to improve the basic performance, but this is less than a factor of 2. And I supplied "car-subset" datafiles that allows somewhat longer distances for car-routing.
But the major improvement is this recalculation stuff. I do not anymore call it "fast-partial-recalculation", now I call it "timeout-free recalculations": if you already have calculated a valid track for the same destination and the same routing mode (via the brouter-app or the service-interface), then the next calculation via the service interface for that destination will almost never give a timeout, but, if it does not succeed to finish the full calculation, give you a merged track from the old valid track and the new, partial calculation.
There's no change in the user interface. Just be aware that, when pressing the "Server-Mode" button after you calculated a track using the brouter-app, you do not only store the profile and the nogo-list for use by the service-interface, but also the track itself to be re-used by the service-interface.