我有以下代码:
// Dictionary which I want to optimize
Dictionary<string, MyClass> myDict;
//
Dictionary<int, KKSKey> kksKeyList;
...
...
...
// Classes
[Serializable]
public class MyClass : MyBaseClass
{
Dictionary<int, DebugValue> myDebugValues;
...
...
...
}
//
[Serializable]
public class DebugValue
{
public int ValueType {get;set;}
public double Value {get;set;}
...
...
...
}
public class KKSKey
{
public string KKS { set; get; }
public string Variable { set; get; }
...
...
...
}
我到处使用字典的原因是因为我需要通过键访问列表。
我在一个for
循环中有以下几行,它运行了超过 550,000 次(是的!)。myDict
有大约 10,000 件商品,kksKeyList
超过 550,000 件商品。
以下每一行运行i = 0 to 550,000
:
myDict[kksKeyList[i].KKS].myDebugValues[i].ValueType = DOUBLE;
myDict[kksKeyList[i].KKS].myDebugValues[i].Value = tempdouble;
基本上,上面的行用通过 TCP 接收的原始数据填充字典项。for
上述每一行每个循环大约需要 90-100 毫秒(550,000 次)。这对我的申请是不可接受的。它必须在 50 毫秒内完成上述行之一。谁能建议如何优化上述操作的性能?我愿意接受任何建议,即使这意味着在必要时重新定义相关类。