【发布时间】:2012-03-18 03:48:43
【问题描述】:
我们可以写一段python代码,放到已经编译好的“.pyc”文件中使用。我想知道在性能方面是否有任何收益,或者它只是一种对代码进行分组的模块化方式。
非常感谢
【问题讨论】:
我们可以写一段python代码,放到已经编译好的“.pyc”文件中使用。我想知道在性能方面是否有任何收益,或者它只是一种对代码进行分组的模块化方式。
非常感谢
【问题讨论】:
在您的程序过程中没有性能提升。它只会提高启动时间。
从“.pyc”或 '.pyo' 文件比从 '.py' 文件中读取时;唯一的事情 关于“.pyc”或“.pyo”文件的速度更快是 它们已加载。
http://www.network-theory.co.uk/docs/pytut/CompiledPythonfiles.html
pyo 文件是下一个优化,只需从您的代码中删除文档字符串。
【讨论】:
是的,只是因为第一次执行 .py 文件时,它会被编译为 .pyc 文件。 所以基本上你必须添加编译时间。之后,应始终使用 .pyc 文件。
【讨论】:
我不确定 .pyc 文件(很小的收获是至少不再创建 .pyc 文件),但是 Python 解释器有一个“-O”标志,可以生成优化的字节码(.pyo 文件)。
【讨论】:
您将获得 Python 运行时将源代码解析和编译为字节码所花费的几分之一秒,这仅在第一次运行/导入时发生。
您将失去便携性。
见here。
从“.pyc”或 '.pyo' 文件比从 '.py' 文件中读取时相比;唯一的事情 “.pyc”或“.pyo”文件的速度更快 它们已加载。
【讨论】:
基于此问题的公认答案:Why are main runnable Python scripts not compiled to pyc files like modules?。
当一个模块被加载时,py 文件被“字节编译”为 pyc 文件。 时间戳记录在 pyc 文件中。这样做是为了不成功 运行更快但加载更快
【讨论】: