VisualPyTune 发布第一个稳定版!
估计每一个遇到过 Python 性能问题的朋友们都使用过 profile、pstats、timeit 等模块吧?对于被 GUI 伺候惯了的我们,使用这些命令行工具就有点麻烦了。要记住数以十计的参数,要记得每一个类的方法名称。强大如pstats.Stats.sort_stats() 函数,记住它的可用参数实在是一件折磨人的事儿。又比如在命令行执行 timeit 的时候,没有自动缩进,更别提语法着色,甚至不能换行,通常都是错了三四次后才能完成任务。因此,笔者在深受其害之后痛定思痛,开发了自由免费的 Python 性能调优工具——VisualPyTune(项目主页http://visualpytune.googlecode.com),简称 VPT。
VisualPyTune的主要功能有:
1) 剖分数据报表浏览:能够方便地对数据排序和过滤数据;以饼图表现callees 函数的剖分数据;查看函数的 callers 和callees 。
2) 集成图形化的剖分向导,不用记忆任何剖分器的参数。
3) 集成图形化的 timeit 功能,再也不用记忆 timeit 的参数;语法高亮的代码编辑器可以让你轻松撰写代码。
4) 支持输出数据为纯文本文件,以备日后参考。
现在,VPT 发布 <chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">0.1.2</chsdate>版啦!这是第一个稳定版本,兼容 windows 和 linux 操作系统,经网友友情测试,也 Mac OS x 下也可以稳定运行,现在就想试试的朋友,请猛击以下地址下载:http://code.google.com/p/visualpytune/downloads/list。
图形化的性能剖分界面

<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1027" style="WIDTH: 414.75pt; HEIGHT: 326.25pt" type="#_x0000_t75"><imagedata o:title="vpt_0_1_2_profile" src="file:///C:%5CDOCUME~1%5CLai%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.png"></imagedata></shape>
对已经完成的项目进行性能剖分有两种方式:一是修改现有代码,引入剖分器,然后运行之;二是通过设置 Python 解释器的运行参数来进行剖分。(关于这一点,请参考拙作《[python]用profile协助程序性能优化》,地址:http://blog.csdn.net/lanphaday/archive/2007/01/15/1483728.aspx )。VisualPyTune 基于第二种剖分方式构建了可视化的图形性能部分器,简单配置一下,完全不用记忆参数,更不用修改代码了,实在是首选啊。
注:据我在 ubuntu 上的测试和根据网络文章,发现在 linux 的Python 在 2.5 版本及之后,已经去掉了 profile 模块和 pstats等模块,造成 VisualPyTune 无法进行性能剖分。所以大家要手动安装一下 profile 模块。在ubuntu 或者 debian 系统上简单地:sudo apt-get install python-profile 就行了。使用其它操作系统的朋友请查询服务提供商或 Google。
简洁多样的数据浏览方式

<shape id="_x0000_i1026" style="WIDTH: 414.75pt; HEIGHT: 311.25pt" type="#_x0000_t75"><imagedata o:title="vpt_0_1_2_all" src="file:///C:%5CDOCUME~1%5CLai%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image003.png"><font face="Times New Roman" size="3"></font></imagedata></shape>
进行性能剖分之后,我们迫不及待地想看看这些数据。以前使用 pstats 模块查看剖分数据报表的时候非常痛苦,加载时间长,字符报表不够直观,每一次新的需求都要再经历一次痛苦的长时间加载等待。实在是苦不堪言。VPT 改变了这样的局面,一次加载就可以让数据在你的手中随意“翻看”。你可以随时让数据按你喜欢的方式排序,也可以非常方便地查看选定的函数的 callers 和 callees。特别是 callees,你还可以通过直观的饼图来找查看剖分情况。这在字符界面时代是不可想象的。
注:要使用此功能,linux 用户必须安装 profile 模块。方法请参考上一节。
图形化的Timeit

<shape id="_x0000_i1025" style="WIDTH: 414.75pt; HEIGHT: 325.5pt" type="#_x0000_t75"><imagedata o:title="vpt_0_1_2_timeit" src="file:///C:%5CDOCUME~1%5CLai%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image005.png"><font face="Times New Roman" size="3"></font></imagedata></shape>
timeit 模块肯定是性能敏感人士的最爱,它可以极方便地评测简单代码段的性能。可惜的是在命令行使用 timeit 的时候需要加倍小心,特别是代码段比较复杂的时候,往往要多次尝试后才能正确地输入。VPT 里自带的图形化的 Timeit 打破了这一僵局,它自带了有代码折叠和语法着色的代码编辑器,我们可以评测更为复杂的代码段啦!
从现在开始,享受 VisualPyTune 吧!
分享到:
相关推荐
java毕业设计源码,可供参考
Windows下的FRP图形化客户端,对应FRP版本0.61.1,需要64位操作系统
基于优化EKF的PMSM无位置传感器矢量控制研究_崔鹏龙.pdf
旧物置换网站的开发过程中,采用B / S架构,主要使用Java技术进行开发,结合最新流行的springboot框架。中间件服务器是Tomcat服务器,使用Mysql数据库和Eclipse开发 环境。该旧物置换网站包括管理员、用户、卖家。其主要功能包括管理员:首页、个人中心、用户管理、卖家管理、旧物类型管理、旧物信息管理、置换交易管理、系统管理等,卖家后台:首页、个人中心、旧物类型管理、旧物信息管理、置换交易管理。前台首页;首页、旧物信息、网站公告、个人中心、后台管理等,用户后台:首页、个人中心、旧物信息管理、置换交易管理、用户可根据关键字进行信息的查找自己心仪的信息等。 (1)用户功能需求 用户进入前台系统可以查看首页、旧物信息、网站公告、个人中心、后台管理等操作。前台首页用例如图3-1所示。 (2)管理员功能需求 管理员登陆后,主要功能模块包括首页、个人中心、用户管理、卖家管理、旧物类型管理、旧物信息管理、置换交易管理、系统管理等功能。 关键词:旧物置换网站,Mysql数据库,Java技术 springboot框架
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行;功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
航天模拟器文件、蓝图、代码
两级式单相光伏并网仿真研究:MATLAB 2021a版本下的DC-DC变换与桥式逆变技术实现功率跟踪与并网效果优化,基于Matlab 2021a的两级式单相光伏并网仿真研究:实现最大功率跟踪与稳定的直流母线电压,两级式单相光伏并网仿真(注意版本matlab 2021a) 前级采用DC-DC变电路,通过MPPT控制DC-DC电路的pwm波来实现最大功率跟踪,mppt采用扰动观察法,后级采用桥式逆变,用spwm波调制。 采用双闭环控制,实现直流母线电压的稳定和单位功率因数。 并网效果良好,thd满足并网要求,附带仿真说明文件 ,两级式单相光伏并网仿真; MATLAB 2021a; DC-DC变换电路; MPPT控制; 扰动观察法; 桥式逆变; SPWM波调制; 双闭环控制; 直流母线电压稳定; 单位功率因数; 并网效果; THD。,MATLAB 2021a双闭环控制两级式单相光伏并网仿真研究
光伏MPPT仿真研究:光照强度和温度对太阳能电池输出特性的影响及调整策略,助力光伏发电学习。,光伏MPPT仿真研究:光照强度和温度对太阳能电池输出特性的影响及调整策略学习指南,光伏mppt仿真:通过调整太阳光照, 温度等因素 , 光照强度和温度对太阳能电池输出特性的影响。 可用于学习光伏发电 ,光伏MPPT仿真;太阳光照调整;温度影响;光照强度;太阳能电池输出特性。,光伏MPPT仿真:光照与温度对太阳能电池输出特性的影响研究
随着互联网技术的高速发展,人们生活的各方面都受到互联网技术的影响。现在人们可以通过互联网技术就能实现不出家门就可以通过网络进行系统管理,交易等,而且过程简单、快捷。同样的,在人们的工作生活中,也就需要互联网技术来方便人们的日常工作生活,实现工作办公的自动化处理,实现信息化,无纸化办公。 本课题在充分研究了在Springboot框架基础上,采用B/S模式,以Java为开发语言,MyEclipse为开发工具,MySQL为数据管理平台,实现的内容主要包括首页,个人中心,综合管理等功能。
航天模拟器文件、蓝图、代码
西门子Smart PLC四轴搬运取料机案例程序:从新手到项目的跃升之路,西门子Smart PLC四轴搬运取料机运动控制案例程序——PLC通信与伺服电机自动化控制解决方案,西门子200smart运动控制四轴搬运取料机案例程序 该程序为两台smart plc通过通讯控制四轴伺服电机的搬运取料机案例工程案例程序。 包含200smar_PLC程序+项目电气接线图(PDF图纸)+程序流程说明+触摸屏程序(步科) 程序包括伺服电机的启动,停止,原点定位,回归原点,位置控制以及方向控制。 包括了所有控制伺服电机的指令,里面有指令的用法的详细解释和程序说明。 拿来就能用的案例程序,结合程序案例中学习,就会轻松快速的掌握。 让你从新手直接能做项目。 动作流程: 客户上好料盒,M1轴伺服跑到第一片料的位置,气缸将料推出到上位置, M2轴在上料位置取件后移动到直线电机的,加工位置,m2轴上通过有上料下料的气缸, 用真空吸住料后m2轴移动到一个二维平台的加工位置,把带加工的料放到加工位置后, 激光器开始加工,加工完成后,通过M2轴把料取下,移动到成品放料位置,放料后, M3轴将成品料推送到M4
航天模拟器文件、蓝图、代码
基于双碳背景下阶梯式碳交易机制与电制氢的综合能源系统热电优化策略研究与求解分析,基于双碳背景下阶梯式碳交易机制与电制氢的综合能源系统热电优化策略及经济性研究,考虑阶梯式碳交易机制与电制氢的综合能源系统热电优化 “双碳”背景下,为提高能源利用率,优化设备的运行灵活性,进一步降低综合能源系统(IES)的碳排放水平,提出一种IES低碳经济运行策略。 首先考虑IES参与到碳交易市场,引入阶梯式碳交易机制引导IES控制碳排放;接着细化电转气(P2G)的两阶段运行过程,引入电解槽、甲烷反应器、氢燃料电池(HFC)替传统的P2G,研究氢能的多方面效益;最后提出热电比可调的热电联产、HFC运行策略,进一步提高IES的低碳性与经济性。 基于此,构建以购能成本、碳排放成本、弃风成本最小的低碳经济运行目标,将原问题转化为混合整数线性问题,运用CPLEX商业求解器进行求解,通过设置多个运行情景,对比验证了所提策略的有效性。 关键词:氢能;阶梯式碳交易机制;热电比可调;综合能源系统;低碳经济 ,关键词:阶梯式碳交易机制;综合能源系统(IES);热电优化;设备运行灵活性;碳排放水平;电转气(P2G);电解槽;氢
MMC分布式储能系统:实现恒功率与恒电压控制的无缝切换技术,MMC分布式储能系统实现恒功率与恒电压控制的无缝切换技术,mmc分布式储能 恒功率控制 恒电压控制 无缝切 ,核心关键词:MMC分布式储能; 恒功率控制; 恒电压控制; 无缝切换。,MMC分布式储能系统:恒功率与恒电压控制的无缝切换技术
多频多快拍稀疏贝叶斯学习目标方位序贯估计_牛海强.pdf
交错并联Boost PFC仿真电路模型:双闭环控制方式下的输出电压与电感电流优化控制,优良波形及Simulink仿真实现,交错并联Boost PFC仿真电路模型:双闭环控制方式下的电压外环与电感电流内环优化,优质波形表现于Simulink仿真中,交错并联Boost PFC仿真电路模型 采用输出电压外环,电感电流内环的双闭环控制方式 交流侧输入电流畸变小,波形良好,如效果图所示 simulink仿真 matlab simulink仿真模型 无报告哈 ,核心关键词:交错并联Boost PFC仿真电路模型;双闭环控制方式;输出电压外环;电感电流内环;交流侧输入电流畸变小;波形良好;Simulink仿真;Matlab Simulink仿真模型。,基于Simulink仿真的交错并联Boost PFC双闭环控制模型优化研究
基于53#三菱PLC与组态王系统的音乐喷泉控制系统设计与组态设计探讨,基于53#三菱PLC的组态王音乐喷泉控制系统设计与实现:音乐喷泉组态设计的探索与实践,53#三菱PLC和组态王音乐喷泉控制系统设计音乐喷泉组态设计音乐喷泉 ,53#三菱PLC; 组态王音乐喷泉控制系统设计; 音乐喷泉组态设计; 音乐喷泉,三菱PLC与组态王协同音乐喷泉控制系统设计
(要求1)基于随机博弈的无人机集群动态对抗决策.pdf
基于特征值与特征向量的计算,实现MATLAB代码进行参与因子分析研究,特征值与特征向量计算:MATLAB代码实现因子分析的方法与步骤,特征值、左右特征向量计算,参与因子分析MATLAB代码 ,特征值; 左右特征向量计算; 参与因子分析; MATLAB代码,MATLAB中特征值与左右特征向量计算,助力因子分析
基于Matlab的无线充电仿真研究:四套模型解析——LLC谐振恒压输出、LCC-S拓扑磁耦合谐振恒压输出、LCC-P拓扑磁耦合谐振恒流输出及S-S拓扑补偿模型探究,基于Matlab的无线充电仿真研究:四套模型深度解析——LLC谐振器恒压输出与磁耦合谐振无线电能传输技术,无线充电仿真 simulink 磁耦合谐振 无线电能传输 MCR WPT lcc ss llc拓扑补偿 基于matlab 一共四套模型: 1.llc谐振器实现12 24V恒压输出 带调频闭环控制 附参考和讲解视频 2.lcc-s拓扑磁耦合谐振实现恒压输出 附设计过程和介绍 3.lcc-p拓扑磁耦合谐振实现恒流输出 附设计过程 4.s-s拓扑补偿 带原理分析,仿真搭建讲解和参考,可依据讲解自行修改参数建模 四套打包 ,无线充电仿真; Simulink; 磁耦合谐振; 无线电能传输; MCR; WPT; LLC拓扑补偿; LCC-S拓扑; 调频闭环控制; 设计过程; 恒压输出; 恒流输出; 参数建模。,基于Matlab Simulink的无线充电仿真模型:MCR WPT的LLC、LCC-S、LCC-P及S-S拓扑研