使用多个词典或单个词典

时间:2014-10-31 08:07:03

标签: c# performance dictionary

我对C#中的词典有一般性质疑。 假设我在一个文本文件中读取,将其拆分为键和值并将它们存储在字典中。 将它们全部放入单个字典或将其拆分为更小的字典会更有用吗? 它可能不会对小文本文件产生巨大影响,但其中一些文件有超过100.000行。 你会推荐什么?

1 个答案:

答案 0 :(得分:6)

在尝试优化之前,第一条规则始终是基准测试。话虽这么说,有些人可能会为你做基准测试。检查results here

从文章中看(以防它从网上消失)

  

较小的词典(键数的一半)要快得多。   在这种情况下,两个字典对输入的行为是   相同。这意味着在词典中有不需要的键   让它变慢。

     

我的观点是你应该使用单独的词典   单独的目的。如果您有两组密钥,请不要存储它们   相同的词典。如果你可以将它们分开,你可以增强查找   性能

     

信用:dotnetperls.com

同样来自文章:

  

全字典:791毫秒
  半角字典:591毫秒[更快]

也许您可以使用更少的代码和200多分钟,这实际上取决于您的应用程序