文档只说Python解释器执行“基本优化”,而不涉及任何细节。显然,它依赖于实现,但是有没有办法让我们了解可以优化什么类型的事物,以及它可以节省多少运行时间?
使用-O是否有任何缺点?
我唯一知道的是-O禁用assert
,但可能不应该使用assert
来解决生产中可能出错的问题。
答案 0 :(得分:48)
在Python 2.7中,-O
具有以下效果:
.pyo
__debug__
为假此外,-OO
具有以下效果:
要验证不同版本的CPython的效果,请grep Py_OptimizeFlag
的源代码。
官方文档链接:https://docs.python.org/2.7/tutorial/modules.html#compiled-python-files