web-dev-qa-db-ja.com

Python最適化(-OまたはPYTHONOPTIMIZE)は何をしますか?

ドキュメントは、Pythonインタプリタは詳細に踏み込むことなく、「基本的な最適化」を実行することだけを述べています。明らかに、これは実装に依存しますが、どのようなタイプのものかを感じ取る方法はありますか?最適化され、実行時にどれだけ節約できるか?

-Oを使用することの欠点はありますか?

私が知っている唯一のことは、-Oがassertを無効にすることですが、おそらく本番環境で問題が発生する可能性がある場合はassertを使用しないでください。

41
max

Python 2.7では、-Oの効果は次のとおりです。

さらに、-OOには次の効果があります。

CPythonの別のリリースの効果を確認するには、Py_OptimizeFlagのソースコードをgrepします。

公式ドキュメントへのリンク: https://docs.python.org/2.7/tutorial/modules.html#compiled-python-files

48