我们可以编写一段Python代码,将其放入已编译的“.pyc”文件中并使用它。我想知道这种做法是否会提高性能,还是仅仅是一种将代码分组的模块化方式。
非常感谢。
非常感谢。
程序的执行性能不会因为读取‘.pyc’或‘.pyo’文件而提高,它只会使启动时间变得更快。
当从‘.pyc’或‘.pyo’文件中读取程序时,在从‘.py’文件中读取程序时并没有更快的运行速度;唯一更快的是‘.pyc’或‘.pyo’文件被加载的速度。
http://www.network-theory.co.uk/docs/pytut/CompiledPythonfiles.html
而将代码中的文档字符串移除可以是pyo文件成为下一个优化目标。
我不确定.py文件是否有用(至少不再创建.py文件可以稍微提高性能),但是Python解释器有一个“-O”标志,可以生成优化的字节码(.pyo文件)。
是的,因为第一次执行 .py 文件时,它会被编译成 .pyc 文件。 所以基本上你必须加上编译时间。之后,应该始终使用 .pyc 文件。
你将获得Python运行时将源代码解析和编译成字节码所需的几分之一秒,这仅在第一次运行/导入时发生。
你将失去可移植性。
请参见此处。
从“.pyc”或“.pyo”文件中读取程序并不比从“.py”文件中读取时运行得更快;唯一更快的是加载“.pyc”或“.pyo”文件的速度。
当一个模块被加载时,py文件会被“字节编译”成pyc文件。 时间戳会记录在pyc文件中。这样做不是为了让它运行更快,而是为了更快地加载。