ドキュメントは、Pythonインタプリタは詳細に踏み込むことなく、「基本的な最適化」を実行することだけを述べています。明らかに、これは実装に依存しますが、どのようなタイプのものかを感じ取る方法はありますか?最適化され、実行時にどれだけ節約できるか?
-Oを使用することの欠点はありますか?
私が知っている唯一のことは、-Oがassert
を無効にすることですが、おそらく本番環境で問題が発生する可能性がある場合はassert
を使用しないでください。
Python 2.7では、-O
の効果は次のとおりです。
.pyo
に変わります__debug__
はFalseですさらに、-OO
には次の効果があります。
CPythonの別のリリースの効果を確認するには、Py_OptimizeFlag
のソースコードをgrepします。
公式ドキュメントへのリンク: https://docs.python.org/2.7/tutorial/modules.html#compiled-python-files