首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算在python中实现的算法的不同数据大小的内存使用量?

如何计算在python中实现的算法的不同数据大小的内存使用量?
EN

Stack Overflow用户
提问于 2018-10-24 05:32:30
回答 1查看 423关注 0票数 2

我有不同大小的不同数据集,我希望根据这些数据集计算用Python实现的排序算法的内存使用量。对于每种类型的排序算法,我想知道每个数据集的内存使用情况,以便绘制一个图表。

我尝试使用psutil.virtual_memory(),但是它并没有给出预期的结果。

我试着安装heapy,但是anaconda告诉我没有这样的库。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-24 05:55:34

我建议您查看一下轮廓仪。一个分析器,它可以逐行输出Python函数的内存消耗。它可以通过运行pip install -U memory_profiler来安装,而且使用起来似乎相当简单。只需在您希望监视的函数上添加一个@profile,然后运行python -m memory_profiler YourScript.py即可开始监视。memory_profiler还附带了一个可执行的自动绘图仪,mprof。有关这里这里教授的更多信息可以找到。

还可以使用以下方法将memory_profiler输出写入文件:

代码语言:javascript
复制
fp=open('memory_profiler.log','w+')
@profile(stream=fp)

通过导入脚本本身中的模块,您可以避免一起调用-m memory_profilerfrom memory_profiler import profile

如果这不太合适的话,我建议你去看看这有助于完整的小博客。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52961656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档