Я серьезно разочаровываюсь в том, как медленный запуск python. Просто импортирование более или менее базовых модулей занимает второе место, поскольку python работает с sys.path, ища соответствующие файлы (и генерирует 4 stat()
звонки - [ "foo", "foo.py", "foo.pyc", "foo.so" ] - для каждой проверки). Для сложной среды проекта с множеством разных каталогов это может занять около 5 секунд - все, чтобы запустить script, который может сработать мгновенно.
Есть ли у людей предложения по ускорению этого процесса? Например, один хак, который я видел, - это установить переменную среды LD_PRELOAD_32
в библиотеку, которая кэширует результат вызовов ENOENT
(например, неудачных вызовов stat()
) между прогонами. Конечно, у этого есть всевозможные проблемы (потенциально запутывающие программы, отличные от python, отрицательное кеширование и т.д.).