内存分析嵌入式python

时间:2014-11-27 13:24:23

标签: python memory-profiling

我想对以嵌入方式(来自C ++)调用的python模块进行一些内存分析。有人怀疑它的一部分远远不是最佳的,但它是一个相当复杂的模块,使人工检查非常麻烦。如果需要,我可以更改python代码(例如添加@profile函数装饰器等)。理想情况下,我想概述这些模块中的某些功能。

我一直在寻找一些选择,例如memory_profiler,但我无法弄清楚如何让它们以嵌入式方式工作(它们在独立脚本上测试时工作正常)。 问题是,是否有人知道如何解决这个问题。

我理解这个问题可能有点模糊,但是在线搜索并没有真正提出任何具体的策略来解决这个问题。即便如此,我认为这可能是一个可能与更多人相关的问题。

1 个答案:

答案 0 :(得分:2)

提出这个问题时,我太仓促了。我提出的问题(即memory_profiler无法做到这一点)为时过早。我们的代码实际上将输出重定向到其他地方 - 而且它就在那里。

简而言之 - 以下工作非常顺利(在memory_profiler文档中也有解释):

from memory_profiler import profile

@profile
def your_function(...):

将显示一个很好的逐行内存报告。 我为过早的问题道歉 - 并且可以为此目的全心全意地推荐memory_profiler。