过度注释代码会减慢执行速度吗? [复制]
Posted
技术标签:
【中文标题】过度注释代码会减慢执行速度吗? [复制]【英文标题】:Will excessive commenting of code slow execution? [duplicate] 【发布时间】:2012-05-16 05:33:24 【问题描述】:可能重复:Do comments slow down an interpreted language?
如果超过 75% 的代码行被正确注释,执行大型 .py 文件是否会出现明显的性能下降?
【问题讨论】:
不,但如果您的 75% 的代码有 cmets,那么您可能会受益于不进行太多注释,而是编写可读的代码。 【参考方案1】:没有
当你运行python时,第一步是转换成字节码,也就是那些.pyc
文件。评论已从这些内容中删除,因此无关紧要*。
如果您使用-O
或-OO
选项运行,python 将生成“优化的”pyo
文件,即使速度更快,也可以忽略不计。主要区别在于:
-O
断言被移除,
使用-OO
选项,__doc__
字符串被删除。鉴于有时需要这些,不建议使用-OO
运行。
* 下面已经指出.pyc
文件只为模块保存。因此,顶层可执行文件每次运行时都必须重新编译。此步骤可能减慢大量 python 可执行文件。在实践中,大部分代码应该驻留在模块中,这不是问题。
【讨论】:
...所以它可能会影响您的 启动 时间,但不会影响您的长期执行时间。特别是,如果所有内容都预编译到.pyc
文件中,则这是一次性成本,而不是每次运行成本。
@Wooble,好点,但我从未注意到效果。我能想到的唯一情况是,当您运行 very 长条带时,或者您从 python 外部重复调用 python 可执行文件时。在实践中,我从来没有遇到过。
@Wooble 如果您遵循最佳实践,您的脚本只是模块的薄包装; setuptools 和 kin 甚至会自动为您生成这些包装器。
@CharlesDuffy:也许是这样,但 OP 谈到“执行大型 .py 文件”。当然 cmets 只会影响启动时间,但每次运行大脚本时都会影响,因为不会创建 .pyc 文件。 “否”部分是正确的,但解释具有误导性。
即使您有一个直接从命令行调用的大型、单一的.py
文件,为它编写一个简单地导入大脚本的“包装器”也是微不足道的。然后大脚本被编译为.pyc
,每次运行时只解析一行包装器。以上是关于过度注释代码会减慢执行速度吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章