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判断、获取一张图片主色调的2个实例
Apr 10 Python
python自动格式化json文件的方法
Mar 11 Python
python判断字符串是否是json格式方法分享
Nov 07 Python
Python3 中文文件读写方法
Jan 23 Python
TensorFlow变量管理详解
Mar 10 Python
python3实现基于用户的协同过滤
May 31 Python
python爬虫selenium和phantomJs使用方法解析
Aug 08 Python
Python大数据之从网页上爬取数据的方法详解
Nov 16 Python
使用NumPy读取MNIST数据的实现代码示例
Nov 20 Python
Pytorch 使用 nii数据做输入数据的操作
May 26 Python
PyQt5-QDateEdit的简单使用操作
Jul 12 Python
python实现感知机模型的示例
Sep 30 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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
第九节 绑定 [9]
2006/10/09 PHP
基于MySQL到MongoDB简易对照表的详解
2013/06/03 PHP
神盾加密解密教程(三)PHP 神盾解密工具
2014/06/08 PHP
php一个解析字符串排列数组的方法
2015/05/12 PHP
yii2中添加验证码的实现方法
2016/01/09 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
2020/02/12 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
textarea的value是html文件源代码,存成html文件的代码
2007/04/20 Javascript
jQuery 下拉列表 二级联动插件分享
2012/03/29 Javascript
js 立即调用的函数表达式如何写
2014/01/12 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
浅谈使用MVC模式进行JavaScript程序开发
2015/11/10 Javascript
js实现复选框的全选和取消全选效果
2017/01/03 Javascript
基于JavaScript实现的顺序查找算法示例
2017/04/14 Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
2017/10/11 Javascript
Angular使用操作事件指令ng-click传多个参数示例
2018/03/27 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
2019/08/11 Javascript
解决layer弹出层msg的文字不显示的问题
2019/09/11 Javascript
nodejs中使用archive压缩文件的实现代码
2019/11/26 NodeJs
JS如何实现手机端输入验证码效果
2020/05/13 Javascript
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
Python之os操作方法(详解)
2017/06/15 Python
Python实现计算圆周率π的值到任意位的方法示例
2018/05/08 Python
python实现NB-IoT模块远程控制
2018/06/20 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
python实现的多任务版udp聊天器功能案例
2019/11/13 Python
pycharm 添加解释器的方法步骤
2020/08/31 Python
Linux的文件类型
2012/03/07 面试题
2014年保卫科工作总结
2014/12/05 职场文书
预备党员转正材料
2014/12/19 职场文书
伏羲庙导游词
2015/02/09 职场文书
深入详解JS函数的柯里化
2021/06/09 Javascript