小编Inu*_*a G的帖子

.net字典与其他托管自定义数据结构,为什么.net字典如此之快?

我正在开发一个自定义持久键值类型数据结构,以与SqlLite和Berkley DB进行比较.无论如何,在我编写实现之前,我想找到用于此目的的最佳数据结构.我看着一对夫妇:

  • 一个开源的redblack树.
  • 单声道字典实现.

我希望我选择的数据结构的性能数字与.net字典相当.

我使用了一个简单的测试循环,对插入进行了500k次迭代,并使用秒表测量插入和键查找:

我注意到了

  • Berkley DB密钥查找时间与Dictionary大致相同.
  • 我尝试了我的for循环测试C5字典,redblack树实现甚至mono的字典实现.

插入时间:比.net字典慢7%.
查找时间:比.net字典慢1000%.这比使用sqllite的查找速度还要慢!我尝试在打开编译器优化的情况下执行测试,但仍然得到了类似的结果.

我意识到我正在比较Hashtables和树等,但我难以理解所有数据结构之间的性能差异.

任何人都有任何想法

c# tree dictionary

8
推荐指数
1
解决办法
933
查看次数

标签 统计

c# ×1

dictionary ×1

tree ×1