perl哈希有多少个元素?

Doo*_*ana 4 perl hash

我想知道Perl哈希数据结构可以容纳多少元素是否有限制?我假设它可能取决于你有多少可用内存.价值和密钥大小是否与它可以容纳多少元素有关?

Jon*_*ler 10

没有琐碎的固定上限.这取决于系统中可用的内存.如果哈希的键更大,那么与较小的键相比,内存耗尽更快.与哈希中的值类似; 它们越大,你的记忆力就越快.

通常,适合哈希的元素数量是您遇到的问题中最少的; 如果你的内存不足,你应该重新考虑你的算法.

  • 您可以在Perl的`sv.h`,`hv.h`和`perl.h`中搜索代码,但如果您之前没有研究过这些代码,很快就会对旋转感到困惑.有一个32位无符号值存储键值的哈希值,但是哈希冲突似乎不太可能导致问题(哈希中需要40亿个不同的密钥,总共需要大量内存,即使值是每个只有一个字节). (2认同)