widnows 使用cprofile、gprof2dot、graphviz对python项目进行可视化性能分析

news2024/11/28 12:46:03

1. 运行cprofile生成python方法调用信息

pr = cProfile.Profile()
pr.enable() # 开始记录

# 要执行的代码
res = your_method()

pr.disable() # 结束记录
pr.dump_stats('your/path/restats.dump') #写入dump文件
pr.print_stats() #打印

2. 安装gprof2dot和graphviz

2.1 安装gprof2dot
git clone https://github.com/jrfonseca/gprof2dot.git
2.2 安装graphviz

windows安装对应版本graphviz:下载地址

  • 打开已经下载好的软件,点击下一步

  • 安装时添加Path到环境变量中

  • 可更改安装路径

  • 判断是否安装成功

如未安装成功,可以尝试重启下电脑使环境变量生效

3.  生成可视化结果

切换到gprof2dot项目下,执行下面脚本,路径换成你本地生成文本路径

python gprof2dot.py -f pstats your\path\restats.dump | dot -Tpng -o your\path\make_run.png

执行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1286544.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【亲测有效,超详细】收到微信小程序限期完成微信认证通知怎么处理?微信小程序年审认证都需要哪些资料?

背景:近期部分微信小程序管理员最近收到了年审认证通知如下图 微信官方通知 微信小程序认证流程 第一步:登录微信公众平台 网址:微信公众平台 第二步:登录进入后会看到年审通知弹窗,点击去年审 第二步:登…

JAVA-JVM 之Class字节码文件的组成 【下篇】

字节码 类元数据接口元数据字段元数据方法元数据属性元数据 主页传送门:📀 传送 类元数据 此部分元数据主要包含类索引(This_Class)和父类索引(Super_Class)。 类索引:指向Class字节码常量池表…

UDP数据报套接字

文章目录 DatagramSocket APIDatagramPacket API示例一: 请求响应UDP服务端UDP客户端 DatagramSocket API Socket是操作系统中的一个概念,本质上是一种特殊的文件,Socket就属于把“网卡”这个设备给抽象成了文件。往 Socket 文件中写数据,就…

Qt 中的窗口类

目录 QWidget 设置父对象 窗口位置 测试代码 窗口尺寸 窗口标题和图标 信号 槽函数 QDialog 常用API QDialog的子类 QMessageBox QFileDialog QFontDialog QFontDialog类的静态API QColorDialog 颜色类 QColor 静态API函数 测试代码 QInputDialog 静态函数…

花店小程序商城制作攻略教程分享

现如今,随着互联网的快速发展,越来越多的实体店面对客流量不足的问题。特别是对于花店来说,客流量的多少直接影响着销售额和收益。为了解决这一问题,开发一个花店小程序商城成为了不可忽视的选择。 为了开发花店小程序商城&#x…

10倍提升启动的时间?Graalvm打包Springboot+MyBatis实测

graalvm使用前后对比图 相关代码博客:https://blog.csdn.net/weixin_43914278/article/details/134446327 工具大小时间graalvm打包的exe文件84.14MB0.251秒graalvm打包的docker文件121.27MB0.253秒jar包51.34MB2.153秒 解析 文件大小: graalvm打包的Docker文件…

【数电笔记】09-逻辑代数的基本定律、常用公式

目录 说明: 逻辑代数的基本定律 1. 常量间的运算 2. 逻辑变量与常量的运算 3. 与普通代数相似的定律 4. 摩根定律(反演律) 5. 等式证明方法例题 逻辑代数的常用公式 1. 吸收律 2. 冗余律 3. 示例应用 4. 关于异或运算的一些公式 …

【深度学习笔记】08 欠拟合和过拟合

08 欠拟合和过拟合 生成数据集对模型进行训练和测试三阶多项式函数拟合(正常)线性函数拟合(欠拟合)高阶多项式函数拟合(过拟合) import math import numpy as np import torch from torch import nn from d…

动态类型语言与静态类型语言的对比与比较

编程语言可以根据类型系统和类型检查时机分为动态编程语言和静态编程语言两大类,它们在运行时的代码检查方式、变量类型的使用方式等方面有很大的区别。这一块你知道吗? 本文将为您详细讲解两种编程语言的优缺点,以及它们的应用场景。 动态编…

洗地机好用吗?口碑好的洗地机有哪些?

自从洗地机开始引入市场以来,它一直受到人们的关注。它在解放家庭清洁劳动力和提供快速方便的清洁方面表现出色,超越了多年来传统的拖把清洁方式。越来越多的人选择使用洗地机来完成家庭清洁任务。如果你也对洗地机产生了浓厚的兴趣,并想购买…

【精选】ATKCK红队评估实战靶场二 (超详细过程思路)

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【ATK&CK红队评估实战靶场】 【VulnHub靶场复现】【面试分析】 &#x1f…

智能优化算法应用:基于人工电场算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于人工电场算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于人工电场算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.人工电场算法4.实验参数设定5.算法结果6.参考…

IO / day03 作业

1. 使用文件IO完成对图像的读写操作 代码 #include<myhead.h>int main(int argc, const char *argv[]) {int fd-1;if((fd open("./bird.bmp", O_RDWR)) -1){perror("fopen error");return -1;}//读取该图片的大小&#xff0c;需要将光标向后偏移…

写论文焦虑?No,免费AI写作大师来帮你

先来看1分钟的视频&#xff0c;对于要写论文的你来说&#xff0c;绝对有所值&#xff01; 还在为写论文焦虑&#xff1f;免费AI写作大师来帮你三步搞定 第一步&#xff1a;输入关键信息 第二步&#xff1a;生成大纲 稍等片刻后&#xff0c;专业大纲生成&#xff08;由于举例&am…

python 堆与栈

【一】堆与栈 【 1 】简介 栈&#xff08;stack&#xff09;&#xff0c;有些地方称为堆栈&#xff0c;是一种容器&#xff0c;可存入数据元素、访问元素、删除元素&#xff0c;它的特点在于只能允许在容器的一端&#xff08;称为栈顶端指标&#xff0c;英语&#xff1a;top&a…

智能无人售货奶柜,引领便捷时代

智能无人售货奶柜&#xff0c;引领便捷时代 在当今快节奏的生活中&#xff0c;人们对购物的需求变得越来越迫切。同时&#xff0c;随着科技的进步&#xff0c;无人售货柜作为一种创新的销售模式逐渐受到人们的关注和喜爱。其中&#xff0c;智能无人售货奶柜以其便捷高效的特点成…

OGG实现Oracle19C到postgreSQL14的实时同步

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

TP5使用Composer安装phpoffice/phpspreadsheet,导出Excel文件

Composer安装 如果你尚未安装Composer&#xff0c;请先安装 Composer。Composer是PHP的依赖管理工具&#xff0c;它可以方便地安装和管理项目中的第三方库。 安装phpoffice/phpspreadsheet&#xff1a; 触发控制器里面的方法 wdjzdc() 在控制中引入 use PhpOffice\PhpSpread…

从零开始的Spring Cloud Gateway指南:构建强大微服务架构

目录 一、 什么是Gateway&#xff1f;1. 网关的由来2. 网关的作用3. 网关的技术实现 二、如何搭建一个简易网关服务1. 引入依赖2. 配置yml文件 三、进阶话题&#xff1a;过滤器和路由配置1. gateway的执行原理2. 路由断言工厂: Predicate Factory3. 网关过滤器&#xff1a;Gate…

Cannot resolve symbol ‘ActivityResultLauncher‘ 报错处理方法

修改 app/build.gradle implementation ‘androidx.appcompat:appcompat:1.2.0’ 为 implementation ‘androidx.appcompat:appcompat:1.4.0’