有没有办法找出 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/