在Ruby和Python中为哈希预分配内存,类似于Perl';s键%hash=num

在Ruby和Python中为哈希预分配内存,类似于Perl';s键%hash=num,python,ruby,perl,hashtable,allocation,Python,Ruby,Perl,Hashtable,Allocation,在未来的代码中,我可能不得不处理非常大的哈希。在Perl中,如果事先知道要创建一个巨大的散列,那么可以使用以下代码预先分配内存(假设需要10亿大小的散列): Ruby或Python中是否有类似的功能?在使用Python时,可以使用dict.fromkeys()创建一个新的字典,其中键来自seq,值设置为value(在本例中为null) 你想通过这样做来实现什么?我想实现更高的性能。比什么更高?你的程序运行得太慢了吗?您是否已经证明为数据分配空间的时间过长了?Ruby:是的,我已经证明了。散列的创

在未来的代码中,我可能不得不处理非常大的哈希。在Perl中,如果事先知道要创建一个巨大的散列,那么可以使用以下代码预先分配内存(假设需要10亿大小的散列):


Ruby或Python中是否有类似的功能?

在使用Python时,可以使用dict.fromkeys()创建一个新的字典,其中键来自seq,值设置为value(在本例中为null)


你想通过这样做来实现什么?我想实现更高的性能。比什么更高?你的程序运行得太慢了吗?您是否已经证明为数据分配空间的时间过长了?Ruby:是的,我已经证明了。散列的创建速度很慢。
keys %hash = 1e9
dict.fromkeys(xrange(1000000))