我知道.py文件和.pyc文件之间的区别。我的问题不是关于 is how,而是关于为什么根据docs
从.pyc或.pyo文件读取程序时,运行速度不会比从.py文件读取时更快;.pyc或.pyo文件唯一速度更快的是加载它们的速度。
.pyc文件加载导入速度更快。但是,在加载.pyc文件的“运行”部分之后,.py文件中的“运行”部分与“运行”部分的时间相同吗?这是为什么?我本以为
我的问题是:在导入部分之后,为什么.pyc文件的运行部分与.py文件相比没有加快执行速度?
发布于 2013-05-27 12:37:14
运行.py
文件时,首先将其编译为字节码,然后执行。加载这样的文件要慢一些,因为对于.pyc
,编译步骤已经执行,但是加载之后,同样的字节码解释就完成了。
在伪代码中,Python解释器执行以下算法:
code = load(path)
if path.endswith(".py"):
code = compile(code)
run(code)
发布于 2013-05-27 12:38:44
程序的运行方式总是一样的。编译后的代码将被解释。
加载程序的方式不同。如果有当前的pyc
文件,这将被视为编译版本,因此在运行命令之前不需要执行编译步骤。否则,将读取py
文件,编译器必须编译它(这需要一些时间),但是内存中的编译版本将被解释为另一种方式。
https://stackoverflow.com/questions/16773362
复制相似问题