Программа Python запускается слишком долго в первый раз? [дубликат]

Nov 17 2020

У меня есть скрипт на Python, который в основном берет точные данные об электрической нагрузке, данные о производстве солнечной энергии и выполняет некоторый анализ потоков энергии. Это довольно сложный алгоритм, который включает в себя множество циклов и огромных DataFrame, матриц и массивов. Когда я работаю над сценарием, на его выполнение уходит в среднем 35 секунд. Все фанаты моей машины начинают дуть.

Но предположим, что я оставлю свой компьютер на 3-4 часа и вернусь, выполнение того же кода занимает более 120 секунд.

Почему это так и есть ли способ этого избежать?

Любая помощь будет оценена.

Ответы

1 Tamir Nov 17 2020 at 05:16

Это происходит из-за кеширования. Когда вы загружаете данные из одного и того же места в первый раз, данные сохраняются в более доступном месте (кеше) из-за уверенности в том, что вы скоро снова будете использовать эти данные. Когда вы покидаете свой компьютер, это пространство заполняется другими данными, которые используют другие процессы. Это фундаментальная часть построения компьютера, которую разработчики оптимизирующих микросхем добавляют, чтобы сделать компьютер (ЦП) быстрее. Это явление также известно как «холодный бег».

Изменить: загрузка данных включает загрузку фактических сегментов кода (кучи, стека и т. Д.) В память