python - 配置文件 Python 导入时间

标签 python profiling python-import

有没有办法找出 Python 中哪些导入花费的时间最长?查看 python -m cProfile <script> 的输出, 它似乎不包括 import语句(考虑到潜在的巨大依赖树是可以理解的)。最初我认为它确实如此,因为我看到了 __import__() 的一行调用,但我认为这实际上可能是因为某处的代码明确调用它,玩具程序只有 import语句没有一行。

现在我正在使用:

start = time.time()
import <module>
print '%s / time: %f' % (<module>, time.time()-start)

围绕每个模块,但它不会递归地分析它以查看导入中的哪个导入可能会增加时间。

最佳答案

这是一个完全合理的问题。例如,尝试加速 CLI 应用程序的冷启动是有意义的。 Python 3.7 现在提供打印导入时间的选项:https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPROFILEIMPORTTIME

您可以运行:

python -X importtime myscript.py

或:

PYTHONPROFILEIMPORTTIME=1 myscript.py

编辑:要查看这些结果,我推荐 tuna .

关于python - 配置文件 Python 导入时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34755728/

相关文章:

python - 根据列中的值删除行(pandas)

python - 反向使用 Python 格式字符串进行解析

performance - 使用 expt-mod 函数的 Lisp 性能问题

java - 第二次排序更快

python - 在 python 文件之间共享代码

python - Django:无法导入名称 formset_factory

python - 如何将变量发送到 paypal api 并使用 python SDK 取回它们?

python - 在 tqdm 中的 for 循环后更改描述

c# - C# 中 _continue_ 关键字的计算成本高吗?

python多项目实践