我在内存中的一棵树中存储了一些数据,并且我经常使用泡菜将树存储到磁盘中。最近我注意到这个程序使用了一个大内存,然后我检查了保存的泡菜文件,它大约是600米,然后我编写了另一个小测试程序,将树加载回内存中,我发现它将需要内存的近10倍(5G)比磁盘上的大小,这正常吗?避免这种情况的最好方法是什么?
发布于 2016-03-18 23:00:27
不,这不正常。我怀疑你的树比你想象的要大。编写一些代码来遍历它,并将所使用的所有空间加起来(并计算节点数)。
请参阅memory size of Python data structure
你到底在问什么?您是否惊讶于磁盘上600米的数据结构是内存中的5G。这并不奇怪。泡菜压缩数据,因此您希望它在磁盘上更小。它较小10倍(大致),这是相当不错的。
如果你对自己数据的大小感到惊讶,那就另当别论了。
https://stackoverflow.com/questions/36095441
复制相似问题