私はクラスメソッドの時間とメモリ使用量をプロファイリングしたいと思います。私はこれのためのボックス・ソリューションを見つけられませんでした(このようなモジュールはありますか?)、私はtimeit
を時間プロファイリングに、memory_usage
をmemory_profiler
モジュールに使用することに決めました。memory_profiler(pythonモジュール)をクラスメソッドで使用するには?
memory_profiler
でプロファイリングメソッドの問題に直面しました。私はさまざまな変種を試しましたが、どれも変わっていませんでした。
私は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)(ピップでインストール)があります。
UPD:実際はバグです。ここでステータスを確認できます:https://github.com/fabianp/memory_profiler/issues/47
ありがとうございます。わかった。できます。 – rominf