利用PyCharm的Profile工具进行Python性能分析
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了利用PyCharm的Profile工具进行Python性能分析,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1945字,纯文字阅读大概需要3分钟。
内容图文
![利用PyCharm的Profile工具进行Python性能分析](/upload/InfoBanner/zyjiaocheng/857/0879ed4767904a8bb2cdde670696be95.jpg)
Profile:
PyCharm提供了性能分析工具Run-》Profile,如下图所示。利用Profile工具可以对代码进行性能分析,找出瓶颈所在。
测试:
下面以一段测试代码来说明如何使用pycharm的Profile功能。
测试代码见下文,文件命名为Test.py, 一共有5个函数,每个函数都调用了time.sleep进行延时,其中fun5函数调用了fun4函数:
import time def fun1(a, b): print('fun1') print(a, b) time.sleep(1) def fun2(): print('fun2') time.sleep(1) def fun3(): print('fun3') time.sleep(2) def fun4(): print('fun4') time.sleep(1) def fun5(): print('fun5') time.sleep(1) fun4() fun1('foo', 'bar') fun2() fun3() fun5()
点击Run-》Profile开始测试,代码运行结束后会生成一栏测试结果,测试结果由两部分构成,Statistcs(性能统计)和Call Graph(调用关系图):
Statistcs(性能统计):
性能统计界面由Name、Call Count、Time(ms)、Own Time(ms) 4列组成一个表格,见下图。
1. 表头Name显示被调用的模块或者函数;Call Count显示被调用的次数;Time(ms)显示运行时间和时间百分比,时间单位为毫秒(ms)。
2.点击表头上的小三角可以升序或降序排列表格。
3.在Name这一个列中双击某一行可以跳转到对应的代码。
4.以fun4这一行举例:fun4被调用了一次,运行时间为1000ms,占整个运行时间的16.7%
Call Graph(调用关系图):
Call Graph(调用关系图)界面直观展示了各函数直接的调用关系、运行时间和时间百分比,见下图。
0.右上角的4个按钮表示放大、缩小、真实大小、合适大小;
1.箭头表示调用关系,由调用者指向被调用者;
2.矩形的左上角显示模块或者函数的名称,右上角显示被调用的次数;
3.矩形中间显示运行时间和时间百分比;
4.矩形的颜色表示运行时间或者时间百分比大小的趋势:红色 > 黄绿色 > 绿色,由图可以看出fun3的矩形为黄绿色,fun1为绿色,所有fun3运行时间比fun1长。
5.从图中可以看出Test.py直接调用了fun3、fun1、fun2和fun5函数;fun5函数直接调用了fun4函数;fun1、fun2、fun3、fun4和fun5都直接调用了print以及sleep函数;整个测试代码运行的总时间为6006ms,其中fun3的运行时间为1999ms,所占的时间百分比为33.3%,也就是 1999ms / 6006ms = 33.3%。
--------------------- 本文来自 xiemanR 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/xiemanR/article/details/69398057?utm_source=copy
内容总结
以上是互联网集市为您收集整理的利用PyCharm的Profile工具进行Python性能分析全部内容,希望文章能够帮你解决利用PyCharm的Profile工具进行Python性能分析所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。