我有不同大小的不同数据集,我希望根据这些数据集计算用Python实现的排序算法的内存使用量。对于每种类型的排序算法,我想知道每个数据集的内存使用情况,以便绘制一个图表。
我尝试使用psutil.virtual_memory(),但是它并没有给出预期的结果。
我试着安装heapy,但是anaconda告诉我没有这样的库。
发布于 2018-10-24 05:55:34
我建议您查看一下轮廓仪。一个分析器,它可以逐行输出Python函数的内存消耗。它可以通过运行pip install -U memory_profiler来安装,而且使用起来似乎相当简单。只需在您希望监视的函数上添加一个@profile,然后运行python -m memory_profiler YourScript.py即可开始监视。memory_profiler还附带了一个可执行的自动绘图仪,mprof。有关这里和这里教授的更多信息可以找到。
还可以使用以下方法将memory_profiler输出写入文件:
fp=open('memory_profiler.log','w+')
@profile(stream=fp)通过导入脚本本身中的模块,您可以避免一起调用-m memory_profiler:from memory_profiler import profile
如果这不太合适的话,我建议你去看看这有助于完整的小博客。。
https://stackoverflow.com/questions/52961656
复制相似问题