Fix memory pressure

This commit is contained in:
Andras Schmelczer 2026-04-04 09:48:05 +01:00
parent 96402228e3
commit a26494b028
2 changed files with 11 additions and 6 deletions

View file

@ -34,8 +34,11 @@ public class Router {
private static final int DEPARTURE_TO_TIME = 8 * 3600 + 30 * 60; // 08:30
private static final int MAX_TRIP_DURATION_MINUTES = 90;
/** R5 PathResult throws if destinations > 5000. Chunks must be smaller when recording paths. */
private static final int PATH_MAX_DESTINATIONS = 5000;
/**
* R5 PathResult throws if destinations > 5000. Chunks must be smaller when recording paths.
* Kept well below R5's limit to reduce per-chunk memory (fewer destinations = smaller PathResult).
*/
private static final int PATH_MAX_DESTINATIONS = 2000;
// Percentile indices in R5 result arrays (order must match task.percentiles in buildTask)
private static final int PERCENTILE_BEST = 0; // 5th percentile (transit only)
@ -383,7 +386,9 @@ public class Router {
if (recordPaths) {
task.includePathResults = true;
task.nPathsPerTarget = 3;
// We only use the most common RouteSequence (see extractPaths), so 1 path
// per target is sufficient and cuts path memory by ~67% vs 3.
task.nPathsPerTarget = 1;
}
configureMode(task, mode);