簡體   English   中英

Python設置占用過多內存

[英]Python Set Taking up Too Much Memory

我需要一種方法來存儲10億(或更多)相當大的數字,以便可以相對快速地檢查這10億個數字集中是否存在某個元素,但是一旦我的Python集的大小增加到大於大約一千萬個條目,這使我的程序無法正常運行。

我曾嘗試將此集合分解成較小的集合,但是在處理任何可觀大小的集合時,不斷地保存/加載不同的集合(使用cPickle)太慢了。

我也研究了數據庫,但似乎大多數數據庫中的成員資格測試比本機Python集合中的測試慢得多。 另外,我實際上並不需要數據庫提供的額外負擔,即,我只是構建一個非常大的集合-我不需要為每個條目或任何其他精美功能使用多個數據字段。

關於通過盡可能快的成員資格測試來存儲大量數字的最佳方法的任何想法? 或是否有適合該任務的數據庫(最好是易於在Python中實現的數據庫)? 還是有比cPickle更快的從存儲中存儲/檢索Python對象的方法?

我會向有類似問題的任何人推薦sqlite3 即使有大量的項目,它也非常快。

嘗試將數據存儲到json文件中:查閱Json文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM