Я запускал некоторый динамический программный код (пытаюсь переборщить опровергнуть гипотезу Collatz = P), и я использовал dict для хранения длин цепей, которые я уже вычислил. Очевидно, в какой-то момент у него не хватило памяти. Есть ли какой-либо простой способ использовать какой-либо вариант dict
, который выведет страницы на диск, когда он закончится? Очевидно, что это будет медленнее, чем встроенный dict, и это, вероятно, в конечном итоге поедает мое пространство на жестком диске, но это может относиться к другим проблемам, которые не так бесполезны.Python Disk-Based Dictionary
Я понял, что словарь на основе дисков - это в значительной степени база данных, поэтому я вручную реализовал его с помощью sqlite3, но я не делал этого каким-либо умным способом и не искал каждый элемент в базе данных DB время ... было примерно в 300 раз медленнее.
Является ли самый умный способ создать собственный набор диктов, сохраняя только один в памяти за раз и выставляя их в эффективном режиме?
Как именно вы используете индексирование sqlite? то, как я сделал это здесь, было создание таблицы следующим образом: «cur.execute (« create table vals (indx INTEGER, chainlen INTEGER) »), затем я« cur.execute »(« SELECT * from vals, где indx =% d '% i) "для поиска. – Claudiu 2008-10-22 17:50:07
create table vals (indx INTEGER PRIMARY KEY, chainlen INTEGER) – 2008-10-22 17:52:50
@Claudiu - моя программа была такой, что я мог бы реализовать некоторую логику в слое базы данных, поэтому я мог бы позволить БД делать фильтрацию и тому подобное; это было больше, чем просто немой магазин. – 2008-10-23 01:58:59