Python程序占用内存测试

使用memory_profiler模块
memory_profiler模块用来基于逐行测量代码的内存使用。使用这个模块会让代码运行的更慢。
安装方法如下:

pip install memory_profiler

另外,建议安装psutil包,这样memory_profile会运行的快一点:

pip install psutil

使用@profile()装饰器来标识需要追踪的函数,例如:

from memory_profiler import profile


@profile
def sqrt10():
    accuracy = 1e-8
    left = 3
    right = 4
    mid = left + (right - left) / 2
    while right-left>accuracy:
        if mid*mid>10:
            right = mid
        else:
            left = mid
        mid = left + (right-left)/2
    return mid

sqrt10()

运行该代码后结果如下:

Filename: test.py

Line #    Mem usage    Increment  Occurences   Line Contents
============================================================
     4     39.7 MiB     39.7 MiB           1   @profile
     5                                         def sqrt10():
     6     39.7 MiB      0.0 MiB           1       accuracy = 1e-8
     7     39.7 MiB      0.0 MiB           1       left = 3
     8     39.7 MiB      0.0 MiB           1       right = 4
     9     39.7 MiB      0.0 MiB           1       mid = (left+right)/2
    10     39.7 MiB      0.0 MiB          28       while right-left>accuracy:
    11     39.7 MiB      0.0 MiB          27           if mid*mid>10:
    12     39.7 MiB      0.0 MiB          16               right = mid
    13                                                 else:
    14     39.7 MiB      0.0 MiB          11               left = mid
    15     39.7 MiB      0.0 MiB          27           mid = (left+right)/2
    16     39.7 MiB      0.0 MiB           1       return mid

参考资料:
10种检测Python程序运行时间、CPU和内存占用的方法
分析python程序性能——查看程序运行时间和占用内存

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。