cProfile Python性能分析工具使用详解


Posted in Python onJuly 22, 2019

前言

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

运行结果

cProfile Python性能分析工具使用详解

结果分析

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

运行脚本

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

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

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

结果(随机)

cProfile Python性能分析工具使用详解

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

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

cProfile Python性能分析工具使用详解

sort_stats支持以下参数:

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

pstats模块还支持交互式

cProfile Python性能分析工具使用详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现简单状态框架的方法
Mar 19 Python
Python正则表达式使用经典实例
Jun 21 Python
Django rest framework基本介绍与代码示例
Jan 26 Python
Python连接Mssql基础教程之Python库pymssql
Sep 16 Python
使用Python中的reduce()函数求积的实例
Jun 28 Python
tensor和numpy的互相转换的实现示例
Aug 02 Python
Python基于BeautifulSoup和requests实现的爬虫功能示例
Aug 02 Python
Django中使用CORS实现跨域请求过程解析
Aug 05 Python
python如何求数组连续最大和的示例代码
Feb 04 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
Jul 14 Python
Python基础详解之邮件处理
Apr 28 Python
pytorch实现ResNet结构的实例代码
May 17 Python
python实现大文本文件分割
Jul 22 #Python
python plotly绘制直方图实例详解
Jul 22 #Python
python分割一个文本为多个文本的方法
Jul 22 #Python
在linux系统下安装python librtmp包的实现方法
Jul 22 #Python
django搭建项目配置环境和创建表过程详解
Jul 22 #Python
对python中基于tcp协议的通信(数据传输)实例讲解
Jul 22 #Python
Django使用中间键实现csrf认证详解
Jul 22 #Python
You might like
php 论坛采集程序 模拟登陆,抓取页面 实现代码
2009/07/09 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
php实现的用户查询类实例
2015/06/18 PHP
thinkPHP3.2.3实现阿里大于短信验证的方法
2018/06/06 PHP
Javascript里使用Dom操作Xml
2006/09/20 Javascript
javascript 兼容FF的onmouseenter和onmouseleave的代码
2008/07/19 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
jQuery实现下滑菜单导航效果代码
2015/08/25 Javascript
js实现html table 行,列锁定的简单实例
2016/10/13 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
JS二叉树的简单实现方法示例
2017/04/05 Javascript
Angular2数据绑定详解
2017/04/18 Javascript
NodeJS自定义模块写法(详解)
2017/06/27 NodeJs
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
基于JavaScript实现幸运抽奖页面
2020/07/05 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
解决vue路由name同名,路由重复的问题
2020/08/05 Javascript
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
2020/04/22 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
3D动画《斗罗大陆》上线当日播放过亿
2021/03/16 国漫
html5 datalist标签使用示例(自动完成组件)
2014/05/04 HTML / CSS
英国豪华真皮和布艺沙发销售网站:Darlings of Chelsea
2018/01/05 全球购物
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
高中运动会入场词
2014/02/14 职场文书
趣味比赛活动方案
2014/02/15 职场文书
小学生安全演讲稿
2014/04/25 职场文书
2015年行政助理工作总结
2015/04/30 职场文书
中国文明网2015年“向国旗敬礼”活动网上签名寄语
2015/09/24 职场文书
导游词之泉州崇武古城
2019/12/20 职场文书
php字符串倒叙
2021/04/01 PHP
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python
JS前端可扩展的低代码UI框架Sunmao使用详解
2022/07/23 Javascript