我想知道是否有许多小字典浪费内存,因为涉及的开销。字典是作为哈希表实现的,所以如果我有数千个对象,每个对象都包含这些小字典,那么我不会浪费大量空间,而不是只通过列表/二进制搜索树进行搜索,特别是当每个小字典只包含4-5个键值对时?
我现在看的代码是这样实现的,因为有内存问题,所以我想知道对少量的项目使用哈希表是多么浪费。除了列表/二进制搜索树之外,我还有什么其他选择?
发布于 2013-03-29 08:52:22
当然,基准测试是查看性能与内存问题的最佳方法,但如果每个字典都那么小,请考虑ListDictionary或HybridDictionary类。对于小型字典,您肯定会看到性能上的好处,我怀疑您也会看到大小上的好处。
发布于 2013-03-29 08:54:34
如果你需要散列功能,你可以使用哈希表而不是字典,如果没有的话,一些轻量级的集合也可以。您可以查看此链接Dictionary vs Hashtable memory usage
https://stackoverflow.com/questions/15694648
复制相似问题