Chcę profilu czas i wykorzystanie pamięci metody klasy. Nie znalazłem dla tego rozwiązania z pudełka (czy są takie moduły?) I zdecydowałem się użyć timeit
do profilowania czasu i memory_usage
z modułu memory_profiler
.Jak korzystać z memory_profiler (moduł python) metodami klasy?
Napotkałem problem z metodami profilowania z memory_profiler
. Próbowałem różnych wariantów i żaden z nich nie działał.
Kiedy próbuję użyć częściowy z functools
, otrzymuję ten błąd:
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
Nawiasem mówiąc, dokładnie takie samo podejście działa prawidłowo z timeit
funkcji.
Kiedy próbuję użyć lambda
jak to mam ten błąd:
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
Jak mogę obsługiwać metod klasy z memory_profiler?
PS: Mam profiler pamięci (0,26) (zainstalowany z pipem).
UPD: To właściwie błąd. Możesz sprawdzić status tutaj: https://github.com/fabianp/memory_profiler/issues/47
Dziękuję. Mam to. To działa. – rominf