2016-09-28 4 views
1

При поиске решения часто встречается несколько методов. Я часто использую решение, которое наиболее близко соответствует синтаксису, с которым я знаком. Но иногда самое отдаленное решение с приоритетом связано с импортом нового модуля для меня, как в this thread.Влияет ли импорт модуля Python на производительность?

Я уже импортирую различные модули в большом скрипте, который будет зацикливаться 50K раз. Влияет ли импорт дополнительных модулей на время обработки или влияет на эффективность скрипта? Нужно ли беспокоиться о размере вызываемого модуля? Поиск руководства, как правило, стоит потратить время/усилия на поиск решений, используя методы, содержащиеся в модулях, которые я уже использую.

+0

Вы уже профилировали свой код? –

+0

Импорт модулей незначителен по сравнению с тем, что делает ваш код. Сосредоточение внимания на стоимости импорта не стоит вашего времени. Сосредоточьтесь на том, что модуль может сделать для вашей проблемы. –

+0

@Ignacio: Нет, у меня нет (и спасибо за то, что вы меня поняли). Я все еще строю базовую архитектуру. При первом прогоне один проход занял ~ 11 секунд. С тех пор я добавил немного больше функциональности, но, с другой стороны, я уверен, что есть много возможностей для улучшения. – joechoj

ответ

2

Каждый байт-код в Python влияет на производительность. Однако, если этот код не находится на критическом пути и не повторяется много раз, эффект настолько мал, что не имеет значения.

Использование import состоит из двух различных этапов: загрузки модуля (сделано только раз) и связывания имен (где импортирована имя добавляется в пространство имен для обозначения чего-то загруженным модулем, или сам объект модуля). Связывание имен почти безрезультатно. Поскольку загрузка модуля происходит только один раз, это не повлияет на вашу производительность.

Сфокусируйтесь вместо этого на том, что функциональность модуля может сделать, чтобы помочь вам эффективно решить вашу проблему.

Смежные вопросы