Подтвердить что ты не робот

Что делает оптимизация Python (-O или PYTHONOPTIMIZE)?

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

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

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

4b9b3361

Ответ 1

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

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

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

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