【发布时间】:2016-05-03 19:11:24
【问题描述】:
我现在正在编写 Python 代码,它逐渐构建一个大型字典(6 亿个元素),同时不断地从字典中读取。我经常使用 cPickle 将该对象写入文件,并在因读取文件而中断时从中断处继续。
到完成时,字典将占用大约 40 GB。我的电脑有 16 GB 的 RAM。我应该期待什么行为?内存错误?冷冻电脑?访问字典非常慢?
另外,我正在尝试修复我的替代实现(一个 NumPy 数组而不是字典),预计只需要 5 GB,但运行时间也大约是三倍。我是否纠正了保持在 16 GB 以内的持续内存访问将使 NumPy 版本实际上运行得更快?
【问题讨论】:
-
期待“数据库安装”;)
标签: python dictionary memory pickle ram