我想分析类方法的时间和内存使用情况。我没有找到一个开箱即用的解决方案(有这样的模块吗?),我决定使用timeit
时间分析和memory_usage
模块memory_profiler
。
我遇到了使用memory_profiler
. 我尝试了不同的变体,但都没有奏效。
当我尝试使用 partial from 时functools
,我收到此错误:
File "/usr/lib/python2.7/site-packages/memory_profiler.py", line 126, in memory_usage
aspec = inspect.getargspec(f)
File "/usr/lib64/python2.7/inspect.py", line 815, in getargspec
raise TypeError('{!r} is not a Python function'.format(func))
TypeError: <functools.partial object at 0x252da48> is not a Python function
顺便说一句,完全相同的方法适用于timeit
函数。
当我尝试按原样使用lambda
时,出现此错误:
File "/usr/lib/python2.7/site-packages/memory_profiler.py", line 141, in memory_usage
ret = parent_conn.recv()
IOError: [Errno 4] Interrupted system call
如何使用 memory_profiler 处理类方法?
PS:我有内存分析器(0.26)(安装了pip)。
UPD:这实际上是错误。您可以在此处查看状态:https ://github.com/pythonprofilers/memory_profiler/issues/47