Python - 使用cPickle加载先前保存的pickle占用太多内存?
Python - 使用cPickle加载之前保存的pickle文件占用的内存太多了?
我的pickle文件大约有340MB,但加载后却占用了6GB内存的29%。这看起来有点多。这个pickle文件是一个字典里面嵌套了字典。这这样做合适吗?
使用的代码:
import cPickle as pickle
file = pickle.load( file_handle )
谢谢
2 个回答
1
我一直在处理大数据时遇到内存问题,尤其是处理大字典和子字典。所以我最后选择用pprint这个工具把我的对象写入文件,然后再通过一个自定义的模块加载器把这些文件导入回来,这样就能在需要的时候获取数据。这样做效果很好,而且不会浪费内存。
0
1.7GB听起来有点多,但也不是不可能。在数据被“腌制”(也就是被处理成一种特定格式)之前,它占用了多少内存呢?
在把数据“腌制”之后,解开它(也就是把它恢复成原来的样子)所占的内存应该和它被“腌制”之前差不多。数据在硬盘上占多大空间其实不是特别重要。