Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 过多的代码注释会降低执行速度吗?_Python_Performance_Comments_Code Formatting_Technical Debt - Fatal编程技术网

Python 过多的代码注释会降低执行速度吗?

Python 过多的代码注释会降低执行速度吗?,python,performance,comments,code-formatting,technical-debt,Python,Performance,Comments,Code Formatting,Technical Debt,可能重复: 如果超过75%的代码行被正确注释,那么在执行大型.py文件时会出现明显的性能下降吗?否 运行python时,第一步是转换为字节码,这就是那些.pyc文件。注释已从这些文件中删除,因此无所谓* 如果您使用-O或-OO选项运行,python将生成“优化的”pyo文件,这些文件的速度要快得多,也可以忽略不计。主要区别在于: 使用-O删除断言 使用-OO选项,可以去掉\uuuuuuuuuuuuuu字符串。考虑到这些有时是需要的,不建议使用-OO运行 *下面已经指出,.pyc文件仅为模

可能重复:

如果超过75%的代码行被正确注释,那么在执行大型.py文件时会出现明显的性能下降吗?

运行python时,第一步是转换为字节码,这就是那些
.pyc
文件。注释已从这些文件中删除,因此无所谓*

如果您使用
-O
-OO
选项运行,python将生成“优化的”
pyo
文件,这些文件的速度要快得多,也可以忽略不计。主要区别在于:

  • 使用
    -O
    删除断言
  • 使用
    -OO
    选项,可以去掉
    \uuuuuuuuuuuuuu
    字符串。考虑到这些有时是需要的,不建议使用
    -OO
    运行


*下面已经指出,
.pyc
文件仅为模块保存。因此,顶级可执行文件必须在每次运行时重新编译。这一步可能会降低大型python可执行文件的速度。在实践中,大多数代码都应该驻留在模块中,这就不成问题了

…因此它可能会影响您的启动时间,但不会影响您的长期执行时间。特别是,如果所有内容都预编译到
.pyc
文件中,这是一次性成本,而不是每次运行的成本。@Wooble,很好,但我从未注意到效果。我能想到的唯一情况是,当您运行一个很长的条带时,或者您从python外部重复调用python可执行文件时,这一点会有什么影响。实际上,我从未遇到过这两种情况。@Wooble如果您遵循最佳实践,那么您的脚本只是围绕模块的薄型包装;setuptools和kin甚至会自动为您生成这些包装器。@CharlesDuffy:也许是这样,但OP提到“执行一个大的.py文件”。当然,注释只会影响启动时间,但每次运行大型脚本时都会影响,因为不会创建.pyc文件。“否”部分是正确的,但解释是误导性的。即使您有一个直接从命令行调用的大型单片
.py
文件,为它编写一个“包装器”来导入大脚本也很简单。然后,大脚本被编译成
.pyc
,每次运行时只解析一行包装器。不,但是如果您对75%的代码有注释,您可能会受益于不注释太多而编写可读代码。