Вопрос по python, performance – Будет ли чрезмерное комментирование кода замедлять выполнение? [Дубликат]

10

Possible Duplicate:
Do comments slow down an interpreted language?

Будет ли заметное снижение производительности при выполнении большого файла .py, если более 75% строк кода будут правильно прокомментированы?

Нет, но если у вас есть комментарии к 75% кода, вам может быть полезно не столько комментировать, сколько писать читабельный код. user395760

Ваш Ответ

1   ответ
19

Когда вы запускаете python, первым шагом является преобразование в байт-код, что и происходи.pyc файлы есть. Комментарии удаляются из них, поэтому это не имеет значени*.

Если ты бежишь с-O или-OOпция @, Python будет производить "оптимизированный"pyo файлы, которые ничтожно быстрее, если вообще быстрее. Основное отличие заключается в том, что:

с-O утверждение удалено, с-OO вариант,__doc__ строки удаляются. Учитывая, что это иногда необходимо, работает с-OO не рекомендуется.

* это было указано ниже этого.pyc файлы сохраняются только для модулей. Таким образом, исполняемый файл верхнего уровня должен перекомпилироваться при каждом запуске. Этот шагмо помедленнее Массивное Python исполняемый файл. На практике большая часть кода должна размещаться в модулях, поэтому это не проблема.

@ Wooble, хорошая мысль, но я никогда не замечал эффекта. Единственные сценарии, которые я могу придумать, где это будет иметь значение, это когда вы запускаетеочен длинная полоса или когда вы делаете повторные вызовы исполняемого файла python извне python. На практике я никогда не сталкивался. Shep
@ Wooble, если вы следуете передовым методам, ваши сценарии являются лишь тонкими обертками вокруг модулей; setuptools и kin даже автоматически сгенерируют эти оболочки для вас. Charles Duffy
@ CharlesDuffy: возможно, но OP говорит о «выполнении большого файла .py». Конечно, комментарии будут влиять только на время запуска, но это будет происходить каждый раз при запуске большого скрипта, потому что файл .pyc не будет создан. Часть «Нет» правильна, но объяснение вводит в заблуждение. Wooble
Даже если у вас большой монолитный.py file вызывается прямо из командной строки, просто написать для него «обертку», которая просто импортирует большой скрипт. Затем большой скрипт компилируется в.pyc и только однострочная оболочка анализируется при каждом запуске. kindall
... так что это может повлиять на вашзапускат время, но не ваше долгосрочное время выполнения. В частности, если все предварительно скомпилировано в.pyc файлы, этоодин ра стоимость, а не цена за пробег. larsks

Похожие вопросы