Я использую открытый планировщик путешествий, используя метод сценариев jython, описанный здесь: http://docs.opentripplanner.org/en/latest/Scripting/ (в частности, «Использование OTP в качестве библиотеки»), и я использую сценарий, очень похожий на их пример сценария
Для тестирования у меня есть два CSV-файла, содержащие по 40 мест в каждом.Места находятся в Нидерландах, и я загрузил голландские гтф и карту.Странно то, что код, который вычисляет время поездки на общественном транспорте (строка 32 в примере сценария: res = spt.eval(colleges)
, используя режимы WALK,TRANSIT
), занимает больше времени, когда я указываю день, отличный от сегодняшнего дня.
Anпример:
req.setDateTime(2018, 12, 8, 16, 00, 00) # today
spt.eval(my_data) # -> takes ~7 - 10 seconds
req.setDateTime(2018, 12, 7, 16, 00, 00) # yesterday
spt.eval(my_data) # -> takes ~30 - 40 seconds
Если не установить req.setDateTime()
, spt.eval()
еще быстрее.Обратите внимание, что я выполнил сценарий 6-го, а также 6-го, и тогда он был быстрым, поэтому он, безусловно, относится к «сегодня», а не конкретно к 8-му.
Конечно, мой основной вопросКак я могу сделать это быстро за другие дни, чем сегодня?(мой главный интерес на самом деле завтра)
Это связано с тем, когда запускается экземпляр OTP, или это какая-то внутренняя оптимизация?Я не думаю, что это связано со строительством графа, потому что он был построен пару дней назад.Я искал настройку дня или даты и времени при инициализации OTP, но не смог найти это в документах.
(я еще не пробовал возиться с системным временем, но это тоже вариант, яне очень люблю).Любые идеи или комментарии приветствуются.При необходимости завтра предоставлю воспроизводимый образец.