В настоящее время я пытался использовать модуль memory_profiler, чтобы получить использованную память как следующий код:модуля для профилирования пикового использования памяти кода Python
from memory_profiler import memory_usage
memories=[]
def get_memory(mem,ended):
if ended:
highest_mem=max(mem)
print highest_mem
else:
memories.append(mem)
def f1():
#do something
ended=False
get_memory(memory_usage(),ended)
return #something
def f2():
#do something
ended=False
get_memory(memory_usage(),ended)
return #something
#main
f1()
f2()
ended=True
get_memory(memory_usage(),ended) #code end
>>>#output
# output
# highest memory
однако, не удалось успешно выполнить. Он застрял, когда закончился = True, и отправил значение memory_usage() и завершил функцию get_memory. Это также не показало ошибок, просто ожидая долгого долгого времени, затем я вынужден прекратить выполнение. Кто-нибудь знает лучший способ или решение?
Каков был результат? – pvg
Также есть причина, по которой вы не просто используете декораторы или отчет профилировщика по умолчанию? Использование api более низкого уровня просто усложняет ситуацию в вашем случае, и вы на самом деле ничего не делаете с этим. – pvg
Я бы изменил название вопроса, поскольку то, что является «лучшим», является основополагающим мнением, что является основанием для закрытия вопроса. – abukaj