python性能分析

news2024/11/17 11:28:51

基于cProfile统计函数级的时延,生成排序列表、火焰图,可以快速定位python代码的耗时瓶颈。参考如下博文结合实操,总结为三步:

使用 cProfile 和火焰图调优 Python 程序性能 - 知乎本来想坐下来写篇 2018 年的总结,仔细想想这一年发生的事情太多了,还是写篇技术文章吧。 前几天调试程序,发现 QPS 总是卡在 20 左右上不去。开始以为是 IO 问题,就多开了些并发,然并卵,这才想到可能是 CPU …icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/537609221. 生成prof文件

mport cProfile, pstats, io

pr = cProfile.Profile()
pr.enable()

#start your code


#end your code
pr.disable()
pr.dump("./test.prof")

2. 统计时延分布列表:

import pstats

profiler = pstats.Stats('test.prof')
profiler.strip_dirs()
profiler.sort_stats('cumulative')
profiler.print_stats()

效果如下图:

3. 生成火焰图

安装工具:pip3 install flameprof

运行:flameprof test.prof > test.svg

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

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

相关文章

目标识别项目实战:基于Yolov7-LPRNet的动态车牌目标识别算法模型(二)

前言 目标识别如今以及迭代了这么多年,普遍受大家认可和欢迎的目标识别框架就是YOLO了。按照官方描述,YOLOv8 是一个 SOTA 模型,它建立在以前 YOLO 版本的成功基础上,并引入了新的功能和改进,以进一步提升性能和灵活性…

全平台高速下载器Gopeed

什么是 Gopeed ? Gopeed (全称 Go Speed)是一款支持全平台的高速下载器,开源、轻量、原生,采用 Golang Flutter 开发,支持(HTTP、BitTorrent、Magnet 等)协议,并支持所有平台。 已…

linearlayout中使用多个weight导致部分子控件消失异常

问题描述: 在一个linearlayout中写了两个用到weight的布局,在androidstudio中显示正常 但是代码跑起来之后最下面哪一行都消失了; 解决办法1 把两个用到weight的改成一个了,外面那层的weight写成固定宽度就能正常显示出丢失的…

【C++】vector的模拟实现 | 使用memcpy拷贝时的问题 | 实现深拷贝

目录 基本框架及接口 构造函数 无参构造 迭代器区间构造 初始化构造 析构函数 size() | capacity() 扩容的reserve() 使用memcpy拷贝的问题 改变大小的resize() operator[] 迭代器的实现 vector的增删 尾插push_back() 尾删pop_back() 在指定位置插入insert() …

【prism】prism 框架代码

前言 这个是针对整个专栏的一个示例程序,应用了专栏里讲的一些知识点,他是一个小而美的Prism的框架代码,一个模板,方便大家去扩展一个prism工程。 下面是一些代码片段,最后我给出整个工程的下载链接~~~ 代码片段 主界面代码 <Window x:Class="PrismTest.View…

企业加密软件哪个最好用?

天锐绿盾是一款专业的企业级加密软件&#xff0c;提供专业版、行业增强版和旗舰版&#xff0c;分别针对不同的用户需求。 PC访问地址&#xff1a; 首页 天锐绿盾专业版主要面向企事业单位的通用需求&#xff0c;以"让防泄密的管理更简单有效"为核心理念&#xff0c;…

ipv6跟ipv4如何通讯

IPv6的128位地址通常写成8组&#xff0c;每组为四个十六进制数的形式。比如:AD80:0000:0000:0000:ABAA:0000:00C2:0002 是一个合法的IPv6地址。这个地址比较长&#xff0c;看起来不方便也不易于书写。零压缩法可以用来缩减其长度。如果几个连续段位的值都是0&#xff0c;那么这…

从本地到全球:跨境电商的壮丽崛起

跨境电商&#xff0c;作为数字时代的商业现象&#xff0c;正在以惊人的速度改变着全球贸易的面貌。它不仅仅是一种商业模式&#xff0c;更是一场无国界的革命&#xff0c;使商业不再受限于地理位置&#xff0c;而是全面融入全球市场。 本文将深入探讨跨境电商的崛起&#xff0…

Ansys Speos | 将Rayfile光源转换为面光源

概览 本文将讲述如何rayfile转换为面光源&#xff0c;Rayfile光源文件包含有限数量的光线&#xff0c;表面光源有无限量的光线&#xff0c;这使得表面源对于使用逆模拟&#xff0c;得到清晰可视化仿真特别有用。 表面光源均匀地从几何形状表面的每个点发射光&#xff0c;这种简…

Ansys Optics Launcher 提升客户体验

概述 为了改善用户体验&#xff0c;Ansys Optics 团队开发了一个新的一站式启动应用程序&#xff0c;简化了工作流程并提高了效率。随着Ansys 2023 R2的最新更新&#xff0c;Ansys Optics Launcher 现已安装在Ansys Speos, Ansys Lumerical和Ansys Zemax OpticStudio中。作为一…

DVWA -xss

什么是XSS 跨站点脚本(Cross Site Scripting,XSS)是指客户端代码注入攻击&#xff0c;攻击者可以在合法网站或Web应用程序中执行恶意脚本。当wb应用程序在其生成的输出中使用未经验证或未编码的用户输入时&#xff0c;就会发生XSS。 跨站脚本攻击&#xff0c;XSS(Cross Site S…

Docker之Dockerfile搭建lnmp

目录 一、搭建nginx ​编辑 二、搭建Mysql&#xff08;简略版&#xff09; 三、搭建PHP 五、补充 主机名ip地址主要软件mysql2192.168.11.22Docker 代码示例 systemctl stop firewalld systemctl disable firewalld setenforce 0docker network create --subnet172.18.…

C#封装、继承和多态的用法详解

大家好&#xff0c;今天我们将来详细探讨一下C#中封装、继承和多态的用法。作为C#的三大面向对象的特性&#xff0c;这些概念对于程序员来说非常重要&#xff0c;因此我们将对每个特性进行详细的说明&#xff0c;并提供相应的示例代码。 目录 1. 封装&#xff08;Encapsulati…

009:获取20日均线数据

再《005》中我们获得了K线数据&#xff0c;现在我们要把他的20日均线数据也获取出来。然后通过计算后&#xff0c;保存在新的一列中&#xff1a; import pandas as pd import tkinter as tk from tkinter import filedialog import ospathdef open_file():global pathpath fi…

基于Springboot的漫画网站springboot022

大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路…

代码随想录 Day13 二叉树 LeetCode T104 二叉树的最大深度 T111 二叉树的最小深度 T222完全二叉树的节点个数

以下题解的更详细思路来自于:代码随想录 (programmercarl.com) 前言 二叉树的高度与深度 这里先补充一下二叉树深度和高度的概念 高度:二叉树中任意一个节点到叶子结点的距离 深度:二叉树中任意一个节点到根节点的距离 下面给出一个图便于理解 获取高度与深度的遍历方式 高度:…

python scanpy spatial空转全流程

Spatial mapping of cell types across the mouse brain (1/3) - estimating reference expression signatures of cell types — cell2location documentation Spatial mapping of cell types across the mouse brain (2/3) - cell2location — cell2location documentation #…

文件扫描模块

文章目录 前言文件扫描模块设计初级扫描方案一实现单线程扫描整合扫描步骤 设计初级扫描方案二周期性扫描 总结 前言 我们这个模块考虑的是数据库里面的内容从哪里获取。 获取完成后&#xff0c;这时候,我们就需要把目录里面文件/子文件都获取出来,并存入数据库。 文件扫描模…

Flask-[项目]-搭建短网址系统:flask实现短网址系统,短网址系统,构建短网址系统

一、项目下载地址 https://gitee.com/liuhaizhang/short-url-systemhttps://gitee.com/liuhaizhang/short-url-system 二、项目搭建 2.1、基本环境安装 1、安装好mysql数据库 2、安装好redis数据 3、安装好python解释器 2.2、项目依赖安装 1、切换到python解释器环境中 …

MES管理系统在制造业中的应用及其核心构成

在制造业的信息化进程中&#xff0c;车间级的信息化一直是其薄弱环节。为了提升车间的自动化水平&#xff0c;发展MES数字化技术成为了有效的途径。MES管理系统强调车间级的过程集成、控制和监控&#xff0c;合理地配置和组织所有资源&#xff0c;以满足车间的信息化需求。它提…