如何使用Python处理内存不足

时间:2010-11-19 08:07:21

标签: python nlp

我有很多我操纵的词典。超过1000万字被散列。它太慢了,有时候内存不足。

有没有更好的方法来处理这些庞大的数据结构?

2 个答案:

答案 0 :(得分:9)

是。它被称为数据库。由于字典对你有用(除了内存问题),我认为sqlite数据库可以正常工作。您可以非常轻松地使用sqlite3,并且有很好的文档记录。

当然,如果您可以将值表示为json或者愿意信任来自本地文件的pickled数据,那么这只是一个很好的解决方案。也许您应该发布有关字典值的内容的详细信息。 (我假设钥匙是单词,如果不是,请纠正我)

您可能还希望查看不生成整个字典并仅以块的形式处理它。这可能在您的特定用例中不实用(通常不会出现字典用于此类的事情),但如果您能想到某种方式,则重新设计算法以允许它可能是值得的。

答案 1 :(得分:1)

我不确定你的话是什么意思,但我猜他们的结构很大,如果记忆是一个问题。

我通过从Python 32位切换到 Python 64位,确实解决了一次Python MemoryError问题。实际上,对于4 GB的地址空间,一些Python结构变得很大。您可能想尝试这样做,作为解决问题的简单方法。

相关问题