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

memory_profiler各个参数都是什么意思?

存在疑惑

Line #    Mem usage    Increment  Occurrences   Line Contents
=============================================================1096   1581.2 MiB    -92.0 MiB          12       while not done and t <= rollout_length:1097   1581.2 MiB    -79.0 MiB          11           if config.test_mode == True and config.env_version == "v1" and config.test_ifrender:

while循环中,为什么这里的increment是负值,但是mem usage没有改变?

解决问题

其实主要是机制不理解,尝试使用以下的代码进行测试:

from memory_profiler import profile
@profile
def test_thing1():a = [1] * 1000000for i in range(3):a.extend([1] * 1000000)d = a[:30000]del ddel areturn True
@profile
def test_thing2():a = [1] * 1000000# i = 0a.extend([1] * 1000000)d = a[:30000]del d# i = 1a.extend([1] * 1000000)d = a[:30000]del d# i = 2a.extend([1] * 1000000)d = a[:30000]del d# out of fordel areturn True
if __name__ == "__main__":test_thing1()test_thing2()

这里两个test是完全一样的,只是一个用的是while,另一个用的是单独执行每一行的结果。
结果如下所示:

Filename: e:/pycharm/python_doc/learntoconverse_reconstructed/01example/009memory_profiler_test/test.pyLine #    Mem usage    Increment  Occurrences   Line Contents
=============================================================2     51.8 MiB     51.8 MiB           1   @profile3                                         def test_thing1():4     59.4 MiB      7.6 MiB           1       a = [1] * 10000005     82.5 MiB      0.0 MiB           4       for i in range(3):6     82.5 MiB     22.9 MiB           3           a.extend([1] * 1000000)7     82.5 MiB      0.2 MiB           3           d = a[:30000]8     82.5 MiB      0.0 MiB           3           del d9     52.0 MiB    -30.5 MiB           1       del a10     52.0 MiB      0.0 MiB           1       return TrueFilename: e:/pycharm/python_doc/learntoconverse_reconstructed/01example/009memory_profiler_test/test.pyLine #    Mem usage    Increment  Occurrences   Line Contents
=============================================================11     52.0 MiB     52.0 MiB           1   @profile12                                         def test_thing2():13     59.7 MiB      7.6 MiB           1       a = [1] * 100000014                                             # i = 015     67.3 MiB      7.6 MiB           1       a.extend([1] * 1000000)16     67.3 MiB      0.0 MiB           1       d = a[:30000]17     67.3 MiB      0.0 MiB           1       del d18                                             # i = 119     74.9 MiB      7.6 MiB           1       a.extend([1] * 1000000)20     74.9 MiB      0.0 MiB           1       d = a[:30000]21     74.9 MiB      0.0 MiB           1       del d22                                             # i = 223     82.5 MiB      7.6 MiB           1       a.extend([1] * 1000000)24     82.5 MiB      0.0 MiB           1       d = a[:30000]25     82.5 MiB      0.0 MiB           1       del d26                                             # out of for27     52.0 MiB    -30.5 MiB           1       del a28     52.0 MiB      0.0 MiB           1       return True
  • 从结果可以发现:
    1. mem usage指的是循环内部的最大的内存占用值。
      • 例如这里,while内部最大是82.5 MiB,所以全部的while内部的行,都被标注为了82.5 MiB
    2. increment指的是,循环内部,此行语句全部的内存变化的总和。
      • 例如a.extend([1] * 1000000)三次执行,每次添加了7.6 MiB的内存,因此在while中显示的是这行语句添加了22.9 MiB的内存。

总结:

反正各种问题,实践出真知。完美解释了之前不理解的while内部的情况啊。

http://www.dtcms.com/a/431927.html

相关文章:

  • 网站开发技术简介dwsynology建设网站
  • p2p网站建设框架如何在google上免费推广
  • win7 win10 win11安装IE11浏览器
  • 深度学习池化(Pooling)的进阶应用与优化策略
  • 家庭宽带 做网站wordpress登陆后返回
  • 松岗网站的建设sasaki景观设计公司官网
  • 关于win11的Microsoft To Pdf打印机修改端口后无法再刷新显示于设备界面的问题
  • 深圳市网站建设外包公司排名某个网站做拍卖预展的好处
  • 苏州做网站公司认定苏州聚尚网络创新创意产品设计作品
  • AOI检测在半导体制造领域有哪些主要应用
  • 含山建设局网站支持快钱支付的网站
  • Win环境下包管理工具
  • 陕西西安网站建设公司哪家好微网站方案怎么写
  • 阜阳网站制作公司去哪找山东省城乡住房和城乡建设厅网站
  • wordpress 在线音乐播放器seo外包公司哪家专业
  • 如何在Windows操作系统上使用Makefile?
  • 英文网站seo 谷歌公司起名网站十大排名
  • SDK游戏盾的应用场景有哪些?
  • 安卓基础组件020-页面跳转001
  • 如何做盗版小说网站公司网站建设会计处理
  • 免费建设个人网站企业网站建设一站通系统简单
  • 建设网站不显示添加白名单安庆网站建设专
  • Python语法学习-5
  • 网站建设中asp文件网站为什么具有网络营销价值
  • display ospf lsdb brief 概念及题目
  • 建设网站平台wordpress 自己写首页
  • 国庆特别篇:使用 Three.js 绘制中国国旗
  • display ospf peer 概念及题目
  • 数据治理5-企业数据质量建设与实战
  • zf厂手表网站北京房产网站大全