gpt4 book ai didi

python - 字节码编译给 Python 代码带来了多少加速?

转载 作者:太空宇宙 更新时间:2023-11-04 01:26:13 24 4
gpt4 key购买 nike

我四处搜索了一段时间,发现了一些合理的说法,即 CPython 的编译允许更快地执行 Python 代码。不过,我想知道是否有人知道任何可以证明加速程度的基准。

或者,也许有一种简单的方法可以让我对其进行基准测试。有没有可以在运行时给出的 Python 标志来关闭编译?

最佳答案

所有cpython运行的代码都必须先编译成字节码才能运行。这就是解释器的工作方式,您可能无法合理地更改它(如果不编写您自己的解释器)。

但是,默认情况下,加载模块的编译字节码将缓存在 .pyc 文件中。这意味着下次加载它时不需要再次编译。您可能听说过字节码缓存,因为它可以大大加快以前使用过的模块的导入速度。不过,它不会在加载模块后改变性能。

您可以使用 -B 命令行选项或 PYTHONDONTWRITEBYTECODE 环境变量禁用字节码缓存。如果您想测试速度差异,您可能还需要删除所有现有缓存。在 Python 2 中,编译后的字节码将写入紧挨着 .py 源文件的 .pyc 文件。在 Python 3 中,这被更改为使用 __pycache__ 文件夹,它可以保存来自不同 Python 版本的多个 .pyc 文件(因此您可以同时拥有多个缓存版本,请参阅PEP 3147 了解更多详情)。

关于python - 字节码编译给 Python 代码带来了多少加速?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17713633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com