当前位置:  开发笔记 > 编程语言 > 正文

内存在大型数据结构操作/处理中的使用

如何解决《内存在大型数据结构操作/处理中的使用》经验,为你挑选了1个好方法。

我有一些大的(~100 Mb)文件,我经常处理.虽然我在处理期间尝试删除不需要的数据结构,但内存消耗有点过高.我想知道是否有办法有效地操纵大数据,例如:

def read(self, filename):
    fc = read_100_mb_file(filename)
    self.process(fc)
def process(self, content):
    # do some processing of file content

是否存在重复的数据结构?使用像self.fc这样的类范围属性不是更高效的内存吗?

我什么时候应该使用垃圾收集?我知道gc模块,但是我之后会调用它del fc吗?

更新
ps 100 Mb本身不是问题.但浮动转换,进一步处理显着增加工作集和虚拟大小(我在Windows上).



1> Ryan Ginstro..:

我建议看看David Beazley在Python中使用生成器的演示.这种技术允许您快速处理大量数据并进行复杂处理,而不会耗尽内存使用量.IMO,诀窍是尽可能高效地在内存中保存大量数据; 诀窍是避免同时将大量数据加载到内存中.

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有