cProfile是Python自带的性能分析模块,可以用于程序的热点分析
个人理解:需要一定的python脚本
用于ASC22-DeepMD的热点分析实例:
运行脚本:
python -m cProfile /home/religiousj/dp.py train input.json
输出结果保存到dp.out, 可以进一步分析输出结果
python -m cProfile -o /home/religiousj/dp.out /home/religiousj/dp.py train input.json
可以设置排序方式,例以花费时间多少排序
python -c “import pstats; p=pstats.Stats(’/home/religiousj/dp.out’); p.sort_stats(‘time’).print_stats()”
sort_stats支持以下参数:
calls, cumulative, file, line, module, name, nfl, pcalls, stdname,
time
终端输出太长无法显示,可以将终端输出到.txt文件中
… >> result.txt
commed use
python -c “import pstats; p=pstats.Stats(’/home/religiousj/dp.out’); p.sort_stats(‘time’).print_stats()” >> hotspot.txt
python -c "import pstats; p=pstats.Stats('/home/liaobo/lzj/hotspot.out'); p.sort_stats('time').print_stats()" >> hotspot.txt
.txt输出如下:
参考:
cProfile Python性能分析工具使用详解