Я выполнял некоторый динамический программный код (пытаясь опровергнуть гипотезу Коллатца = P), и я использовал dict для хранения длин цепей, которые я уже вычислил. Очевидно, что в какой-то момент не хватило памяти. Есть ли какой-нибудь простой способ использовать какой-либо вариант dict
, который будет выводить части себя на диск, когда ему не хватит места? Очевидно, что это будет медленнее, чем диктовка в памяти, и, вероятно, в конечном итоге это займет мое место на жестком диске, но это может относиться к другим проблемам, которые не так бесполезны.
Я понял, что дисковый словарь в значительной степени является базой данных, поэтому я вручную реализовал его, используя sqlite3, но я не делал этого каким-либо умным способом и заставлял искать каждый элемент в БД по одному ... это было примерно в 300 раз медленнее.
Является ли самый умный способ просто создать мой собственный набор диктов, сохраняя только один в памяти за раз, и каким-то эффективным образом выкладывать их на страницы?