Что делает оптимизация Python (-O или PYTHONOPTIMIZE)? - PullRequest
41 голосов
/ 24 января 2011

В документах говорится только, что интерпретатор Python выполняет «базовую оптимизацию», не вдаваясь в подробности.Очевидно, что это зависит от реализации, но есть ли способ понять, какой тип вещей можно оптимизировать, и сколько экономии времени он может получить?

Есть ли недостатки в использовании -O?

Единственное, что я знаю, это то, что -O отключает assert, но, по-видимому, не следует использовать assert для вещей, которые все еще могут работать неправильно.

1 Ответ

48 голосов
/ 24 января 2011

В Python 2.7 -O имеет следующий эффект:

Кроме того -OO имеет следующий эффект:

Чтобы проверить эффект для другого выпуска CPython, grep исходный код для Py_OptimizeFlag.

Ссылка на официальную документацию: https://docs.python.org/2.7/tutorial/modules.html#compiled-python-files

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...