码迷,mamicode.com
首页 > 编程语言 > 详细

cProfile——Python性能分析工具

时间:2015-04-24 18:43:47      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

Python自带了几个性能分析的模块:profile、cProfile和hotshot,使用方法基本都差不多,无非模块是纯Python还是用C写的。本文介绍cProfile。

 例子

import time
def func1():
    sum = 0
    for i in range(1000000):
        sum += i
def func2():
    time.sleep(10)

func1()
func2()

运行

python -m cProfile del.py

运行结果

技术分享

结果分析
    执行了6个函数,总共花费了10.138s,按着运行函数名字排序为结果输出。

运行脚本

python -m cProfile -o del.out del.py

这里以模块方式直接保存profile结果,可以进一步分析输出结果,运行

python -c "import pstats; p=pstats.Stats(‘del.out‘); p.print_stats()"

结果(随机)

技术分享

可以设置排序方式,例如以花费时间多少排序

python -c "import pstats; p=pstats.Stats(‘del.out‘); p.sort_stats(‘time‘).print_stats()"

技术分享

sort_stats支持以下参数:

calls, cumulative, file, line, module, name, nfl, pcalls, stdname, time

 

pstats模块还支持交互式

技术分享

cProfile——Python性能分析工具

标签:

原文地址:http://www.cnblogs.com/kaituorensheng/p/4453953.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!