2017-10-12 62 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瞭解你的腳本的運行時間更好。