2017-10-12 64 views
2

我想用Snakeviz来剖析我的python代码。我使用Snakeviz只显示一个函数

if __name__ == "__main__": 
    # main() 
    cProfile.run('main()', "stats.prof") 

开始分析。我遇到的问题是Snakeviz仅显示一个“内置方法builtins.exec”的整体功能。任何人都知道可能是由什么造成的?我正在分析的函数调用了许多子函数。 Snakeviz认为这一点,如图片下方的表格摘录所示,它只是不显示在图表中。

snakeviz example

回答

0

cProfile.run似乎并不来电数据添加到文件中。

除了使用cProfile.run('main()', "stats.prof")试试这个的:

pr = cProfile.Profile() 
pr.enable() 
main() 
pr.disable() 
pr.dump_stats("stats.prof") 
0

考虑直接运行cProfile从命令行:

python -m cProfile -o output_file script_to_run.py 

这将使CPROFILE了解你的脚本的运行时间更好。