Я профилирую свой код с помощью memory_profiler
from memory_profiler import profile
@profile
def whatever():
....
....
Итак, как многие из вас могут знать, я получаю вывод на экран, подобный этому:
Line # Mem usage Increment Line Contents
==============================================
3 @profile
4 5.97 MB 0.00 MB def my_func():
5 13.61 MB 7.64 MB a = [1] * (10 ** 6)
6 166.20 MB 152.59 MB b = [2] * (2 * 10 ** 7)
7 13.61 MB -152.59 MB del b
8 13.61 MB 0.00 MB return a
Мой вопрос:
Поскольку процесс @profile занимает много времени, мне было интересно, могу ли я каким-то образом зарегистрировать/сохранить этот вывод и оставить скрипт работающим, возможно, на ночь.
Моя идея состоит в том, чтобы использовать декоратор @profile во многих функциях определения и хранить все результаты каким-то образом в одном файле TXT или во многих разных файлах TXT, это не важно, важно, будет ли это возможно.
memory_profiler
, я просто знаю, как заставить его работать, но я еще даже не знаю, откуда берется вывод. Это помогло бы, я думаю. - person codeKiller   schedule 10.06.2014run_my_thing > output.txt
в оболочке. Полностью обойтиmemory_profiler
. Очевидно, что это не идеально. - person Veedrac   schedule 10.06.2014