我正在运行一些动态编程代码(试图强力反驳 Collatz 猜想 =P),并且我正在使用 dict 来存储我已经计算过的链的长度。显然,它在某个时候耗尽了内存。有没有什么简单的方法可以使用 a 的某些变体,dict
当它用完空间时,它会将自身的一部分分页到磁盘?显然它会比内存中的字典慢,并且最终可能会占用我的硬盘空间,但这可能适用于其他不是那么无用的问题。
我意识到基于磁盘的字典几乎是一个数据库,所以我使用 sqlite3 手动实现了一个,但我没有以任何聪明的方式做到这一点,而是让它一次查找数据库中的每个元素......它慢了大约 300 倍。
创建我自己的一组字典,一次只在内存中保留一个,并以某种有效的方式将它们分页是最聪明的方法吗?