我正在尝试使用Snakeviz来分析我的python代码。我用
if __name__ == "__main__":
# main()
cProfile.run('main()', "stats.prof")
开始分析。我遇到的问题是Snakeviz只显示一个整体功能“内置方法builtins.exec”。有人知道是什么原因引起的吗?我正在分析的函数调用许多子函数。 Snakeviz看到了这一点,如图片下方的表格摘录所示,它只是没有显示在可视化中。
答案 0 :(得分:0)
cProfile.run似乎没有将调用者数据添加到文件中。
而不是使用cProfile.run('main()', "stats.prof")
试试这个:
pr = cProfile.Profile()
pr.enable()
main()
pr.disable()
pr.dump_stats("stats.prof")
答案 1 :(得分:0)
考虑从命令行直接运行cProfile
:
python -m cProfile -o output_file script_to_run.py
这将允许cProfile更好地了解脚本的运行时间。