0

我正在寻找一种具有更好的标准 BCL 性能的 IDictionary 实现。

我正在寻找具有恒定查找时间的东西,它在大量元素(> 10K)时性能非常好,并且对 GC 更友好。

Ps:不,我一个人写不出来:)

4

3 回答 3

7

BCL 字典已经在摊销常数时间内执行,并且可以轻松处理 10K 元素。

您说它应该“对 GC 更友好”——当前版本有什么困扰您的地方?

您是否经常向字典添加元素?如果是这样,请使用较大的初始容量创建它以避免流失。

于 2008-12-10T17:10:43.837 回答
2

我无法对实现进行基准测试,但哥本哈根大学提供了一个替代的 - 更全面的 - 通用集合类选择:

http://www.itu.dk/research/c5/

他们提供了许多具有不同支持解决方案(树、哈希表等)的通用 Dictionary 实现。其中一种可能适合您的需求。性能是开发此类库的主要因素。

当然,我建议您首先尝试 BCL 通用 Dictionary 类,因为它可以节省您的时间,并且可以很好地满足您的性能要求。

于 2008-12-10T17:59:11.100 回答
2

我认为您将很难找到比 BCL 更快的托管字典。我试图写一个,我很快发现当你平衡读\写性能时,它的速度差不多。

于 2008-12-10T18:05:58.327 回答