一、cProfile模块的应用分析(化性能分析)
cProfile模块是比较常用的分析器。结合Gprof2Dot 将分析器输出转换成 Graphviz 可处理的图像表述,我们就可以从图里分享相关的即可得到不同函数所消耗的时间分布信息。
- fighting.py
import random
def randomlist(n):
lists = []
l = [random.random() for i in range(n)]
l.sort()
for v in l:
lists.append(v)
return lists
if __name__ == "__main__":
randomlist(20)
执行分析代码:
python -m cProfile -s cumulative fighting.py
相关参数的说明:
- ncalls:表示函数调用的次数;
- tottime:表示指定函数的总的运行时间,除掉函数中调用子函数的运行时间;
- percall:(第一个percal