python代码优化cProfile的用法
2018-08-01 本文已影响0人
诸葛村姑
1.输出profile到result.out
python -m cProfile -o result.out -s cumulative test.py
注:也可在控制台查看,删掉-o选项,也省去步骤2.
2.result.out为二进制文件,需要再写一个python脚本查看:
import pstats
p=pstats.Stats('result.out')
p.print_stats()
p.sort_stats('calls').print_stats()
p.sort_stats('cumulative').print_stats()
其中,cProfile出的各个参数:
ncalls:表示函数调用的次数;
tottime:表示指定函数的总的运行时间,除掉函数中调用子函数的运行时间;
percall:(第一个percall)等于 tottime/ncalls;
cumtime:表示该函数及其所有子函数的调用运行的时间,即函数开始调用到返回的时间;
percall:(第二个percall)即函数运行一次的平均时间,等于 cumtime/ncalls;
filename:lineno(function):每个函数调用的具体信息;