测量pyc和py文件之间的性能差异

首先,我知道py和pyc文件的区别。 我也明白,这两个文件的运行时间将是相同的。

但我在这里有一个疑问。 pyc删除与python执行相关的加载时间。 有办法我可以看到这个? 当我运行一个普通的py文件,它需要x秒加载和y秒运行。 一个pyc文件也需要运行y秒。 有没有办法衡量两者之间的差距?

Python .py文件被编译成.pyc文件。 .pyc文件是Python解释器可以理解和执行的文件。 因此,你必须清楚,编译和加载是不同的。 编译意味着将.py文本格式的源文件转换为.pyc二进制格式的字节码。 加载意味着分析和实例化.pyc文件中的符号和源代码(以二进制形式)到内存中,以便程序继续执行。

回答你的问题,有几种方法来衡量这一点:

创建两个模块文件module1.py和module2.py。 在module2.py中,导入module1.py。 使用module2.py中的timeit python模块来查找module1.py的加载时间。 有关信息。 关于如何使用timeit模块,请参考如何使用timeit模块 。

在命令提示符下运行module2.py有两种情况: – (1)当模块1的.pyc文件存在时,(2)模块1的.pyc文件不存在时。

顺便说一下,在这两种情况下,您可能会注意到,也可能不会注意到任何显着的时间差异。 但是,这取决于在module1.py中完成多少行代码和导入

希望它会帮助你。