memory_profiler的使用

作用:memory_profiler是用来分析每行代码的内存使用情况

 

安装方法:

pip install memory_profiler

  

使用方法一:

   1.在函数前添加 @profile

        2.运行方式: python -m memory_profiler memory_profiler_test.py     

  此方法缺点:在调试 和 实际项目运行时 要 增删 @profile 此装饰器

代码如下:

# -*- coding: utf-8 -*-
"""
(C) rgc
All rights reserved

Usage:

"""
from memory_profiler import profile


@profile
def test1():
    c = 0
    for item in range(1000):
        c += 1
    print(c)


if __name__ == '__main__':
    test1()


 

输出结果:

名词含义为

  Mem usage: 内存占用情况

  Increment: 执行该行代码后新增的内存

       Occurences: 执行次数

 

使用方法二:

  1.先导入:    from memory_profiler import profile

       2.函数前加装饰器:   @profile(precision=4,stream=open('memory_profiler.log','w+'))            

            参数含义:precision:精确到小数点后几位 

                 stream:此模块分析结果保存到 'memory_profiler.log' 日志文件。如果没有此参数,分析结果会在控制台输出

  运行方式:直接跑此脚本  python memory_profiler_test.py

  此方法优点:解决第一种方法的缺点,在 不需要 分析时,直接注释掉此行

 1 #coding:utf8
 2 from memory_profiler import profile
 3 
 4 @profile(precision=4,stream=open('memory_profiler.log','w+'))
 5 # @profile
 6 def test1():
 7     c=0
 8     for item in xrange(100000):
 9         c+=1
10     print c
11 
12 if __name__=='__main__':
13     test1()

 

使用方法三:

  脚本代码和方法二一样,但是 运行方式不同

  mprof run memory_profiler_test.py       : 分析结果会保存到一个 .dat格式文件中

  mprof plot                                              : 把结果以图片到方式显示出来(直接在本目录下运行此命令即可,程序会自动找出.dat文件) (要安装  pip install matplotlib

       mprof clean                                           : 清空所有 .dat文件

       效果如图:

        

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值