Я пытаюсь измерить использование памяти следующей функции для факторизации целых чисел.
def trialDiv(n):
a = []
f = 2
while n != 1:
if n % f == 0:
a.append(f)
n = n / f
else:
f = f + 1
return a
Я работаю в блокноте jupyter и использую memory_profiler. Однако всякий раз, когда я пытаюсь измерить использование памяти в trialDiv, запустив
%mprun -f trialDiv trialDiv(n)
, я получаю следующий вывод:
Использование строки # Mem Увеличение содержания строки
9 89.6 MiB 89.6 MiB def trialDiv(n):
10 89.6 MiB 0.0 MiB a = []
11 89.6 MiB 0.0 MiB f = 2
12 89.6 MiB 0.0 MiB while n != 1:
13 89.6 MiB 0.0 MiB if n % f == 0:
14 89.6 MiB 0.0 MiB a.append(f)
15 89.6 MiB 0.0 MiB n = n / f
16 else:
17 89.6 MiB 0.0 MiB f = f + 1
18 89.6 MiB 0.0 MiB return a
Это то, что выводится независимо от размера целого числа, переданного в trialDiv. Я чувствую, что эта функция может вообще не работать или неправильно использую% mprun. Любой совет будет оценен.