当前位置: 首页 > news >正文

python面试:使用cProfile剖析程序性能

我们需要安装tuna:pip install tuna

程序执行完毕后,我们会得到一个results.prof,在CMD中输入指令:“tuna results.prof”。

import time
import cProfile
import pstatsdef add(x, y):resulting_sum = 0resulting_sum += xresulting_sum += yreturn resulting_sumdef fact(n):result = 1for i in range(1, n+1):result *= ireturn resultdef do_stuff():result = []for x in range(10000000):result.append(x**2)return resultdef waste_time():time.sleep(5)print("Hello")if __name__ == "__main__":with cProfile.Profile() as profile:print(add(100, 5000))print(fact(70))print(do_stuff())waste_time()results = pstats.Stats(profile)results.sort_stats(pstats.SortKey.TIME)results.print_stats()results.dump_stats("results.prof")

结果如下:
在这里插入图片描述
我们可以看到,这个程序中最耗时的函数是waste_time(),用了约5s。其次是do_stuff(),用了3.8s。

http://www.lryc.cn/news/147365.html

相关文章:

  • leetcode-188-买卖股票的最佳时机 IV
  • Grounded Language-Image Pre-training论文笔记
  • 成集云 | 钉钉财务费用单同步至畅捷通 | 解决方案
  • Redis——》死锁
  • URL重定向漏洞
  • JavaScript(函数,作用域和闭包)
  • C# 实现 国密SM4/ECB/PKCS7Padding对称加密解密
  • 【docker-compose】【nginx】动态配置
  • ExpressLRS开源之接收机固件编译烧录步骤
  • 提取视频文件里的音频和无声视频
  • SpringBoot原理
  • MySQL事务原理、MVCC详解
  • 在Windows操作系统上安装Neo4j数据库
  • 国民八路参考文献:[8]许少辉.乡村振兴战略下传统村落文化旅游设计[M]北京:中国建筑工业出版社,2022.
  • 24 Linux高级篇-备份与恢复
  • 微信小程序的图书馆预约系统设计与实现
  • 《2023年网信人才培训-网络安全从业人员能力素养提升培训》第一期成功举办
  • WebGpu VS WebGL
  • HTML <tfoot> 标签
  • VScode的PHP远程调试模式Xdebug
  • HTML5-2-链接
  • Java--常用jar命令
  • 微服务中间件--多级缓存
  • clickhouse系列3:clickhouse分析英国房产价格数据
  • 2023京东口腔护理赛道行业数据分析(京东销售数据分析)
  • 安服面试 --- 01
  • ExpressLRS开源之RC链路性能测试
  • el-form表单el-form-item prop一次验证两个值
  • HTTP 代理原理及 Python 简单实现
  • 数据结构--队列与循环队列