1

即允许您像在数据库中一样有效地访问和更新数据。

我的具体情况如下:

我有一个非常大的蒙特卡洛模拟+优化,数据被分类到几个字典中,每个字典有 600k+ 元组键,格式如下:

simple_dictionary[(year, month, day, hour, minute)] = value_or_small_list_or_small_numpy_array

事实证明,上面的内容实际上比嵌套字典要慢一些:

simple_dictionary[year][month][day][hour][minute] = value_or_small_list_or_small_numpy_array

这让我相信——如果我错了,请纠正我——后一种格式检查的密钥比前者少。这个假设是基于我的代码(太长无法发布)。我的代码在 之后不会创建新键__init__,但每次迭代至少调用一次每个键/值对。但是,并非所有值都会更新。

假设这可以/应该从 RAM 运行,是否有比上述代码更有效的替代方法?

4

1 回答 1

3

您是否考虑过尝试使用内存中的sqlite3数据库?这将与您所能获得的“类似于数据库”一样,并且都在内存中。:)

使用连接字符串:memory:为您提供了一个内存数据库。

于 2012-12-03T19:38:52.577 回答