python - 使用 memory_profiler 中的 %mprun 时未测量内存使用情况
问题描述
我正在尝试测量以下用于分解整数的函数的内存使用情况。
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 notebook 并使用 memory_profiler。但是,每当我尝试通过运行来测量 trialDiv 的内存使用情况时
%mprun -f trialDiv trialDiv(n)
我得到以下输出。
Line # 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。任何意见,将不胜感激。
解决方案
推荐阅读
- php - WooCommerce:在购物车项目中的产品标题和元之后添加内容
- database - 在这种情况下,创建 ORACLE VIEW 或 TABLE 的最佳做法是什么?
- eclipse - Eclipse RCP:无法导出为 Eclipse 产品:找不到包含的存储库
- angular - 通过 routerLink 传递数据并调用函数
- reactjs - 在 useEffect 期间状态多次更改时防止重新渲染
- java - 为什么 ConcurrentHashMap 使用局部变量 `tab` 来引用表?
- java - 无法在我的 RCP 应用程序中将“切换工作区”添加到文件菜单
- python - 使用 Python 将数据存储到 Excel 中
- data-structures - 约束下数组中最大的 k 个元素
- c - C中结构成员(指针与数组)的内存分配之间的差异