如何在 Python 中测试项目不同部分的内存使用情况?

How to test memory usage for different parts of the project in Python?

我尝试在一个脚本中比较不同算法的性能。在不使用 profiler 的情况下,是否有任何方法可以用来估算每个算法实现结束时的内存使用情况?

def main():
    test_case = open('text.txt', 'r')
    for line in test_case.readlines(): #input different datasets
       #do something in Alg1
       #evaluate memory usage in Alg1
       #do something in Alg2
       #evaluate memory usage in Alg2

假设您正在使用 Linux 或 Mac OS X;

您可以使用标准库模块 resource 来获取调用进程的总内存消耗 bytes:

>>> import resource
>>> resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
19968000