【发布时间】:2014-05-03 20:52:13
【问题描述】:
关于 Python 代码的一般问题。 我如何才能最有效地定位我的 Python 代码在内存使用方面最糟糕的部分?
参见例如这个小例子
def my_func():
a = [1] * (12 ** 4)
return a
def my_func2():
b = [2] * (10 ** 7)
return b
if __name__ == '__main__':
a1 = my_func()
a2 = my_func2()
如何自动判断 a2 的大小比 a1 大得多?
我怎样才能 - 仍然是自动化的 - 将其根植于 my_func1() 和 my_func2()?
对于 C/C++ 代码,我会使用 valgrind --tool=massif,它可以直接定位有关内存使用的重量级 - 但对于 Python,我需要你的帮助。
Meliae 似乎给出了一些答案,但不如 massif 对 C/C++ 所做的那样好。
【问题讨论】:
-
推荐的python分析器here