python dict set min_size

时间:2012-07-06 02:36:13

标签: python optimization dictionary python-2.7 hashtable

我正在解析数以亿计的JSON记录,并在dict中存储每个记录中的相关组件。问题在于,由于我正在处理的记录数量,python被迫多次增加dict的底层哈希表的大小。这导致必须重新散列大量数据。大量的重复本身似乎耗费了大量时间。因此,我想知道是否有办法在dict的基础哈希表上设置最小大小,以便最小化调整大小操作的数量。

我已阅读this关于优化python的dict,来自this question上的答案,但无法找到如何更改dict哈希表的初始大小。如果有人能帮助我,我会非常感激。

谢谢

1 个答案:

答案 0 :(得分:2)

如果你这样做:

a = dict.fromkeys(range(n))

它会强制字典大小来容纳n个项目。之后很快,但需要3秒才能完成。