我正在寻找一种具有更好的标准 BCL 性能的 IDictionary 实现。
我正在寻找具有恒定查找时间的东西,它在大量元素(> 10K)时性能非常好,并且对 GC 更友好。
Ps:不,我一个人写不出来:)
我正在寻找一种具有更好的标准 BCL 性能的 IDictionary 实现。
我正在寻找具有恒定查找时间的东西,它在大量元素(> 10K)时性能非常好,并且对 GC 更友好。
Ps:不,我一个人写不出来:)
BCL 字典已经在摊销常数时间内执行,并且可以轻松处理 10K 元素。
您说它应该“对 GC 更友好”——当前版本有什么困扰您的地方?
您是否经常向字典添加元素?如果是这样,请使用较大的初始容量创建它以避免流失。
我无法对实现进行基准测试,但哥本哈根大学提供了一个替代的 - 更全面的 - 通用集合类选择:
http://www.itu.dk/research/c5/
他们提供了许多具有不同支持解决方案(树、哈希表等)的通用 Dictionary 实现。其中一种可能适合您的需求。性能是开发此类库的主要因素。
当然,我建议您首先尝试 BCL 通用 Dictionary 类,因为它可以节省您的时间,并且可以很好地满足您的性能要求。
我认为您将很难找到比 BCL 更快的托管字典。我试图写一个,我很快发现当你平衡读\写性能时,它的速度差不多。