qudry 是 - 以下两种方法中哪一种表现最好
目标 - 获得 Wrapper 类型的对象(定义如下)
标准 - 存储速度
不。记录 - 大约 1000 - 大约 2000,最多大约 6K
选择 - 动态创建对象或从字典中查找
执行速度 - 称为每秒 x 次
注意 - 我需要先提供工作代码然后进行优化,因此如果任何理论家可以提供幕后信息的一瞥,这将有助于在我可能通过 eod thu 进行实际性能测试之前
定义 -
class Wrapper
{
public readonly DataRow Row;
public Wrapper(DataRow dr)
{
Row = dr;
}
public string ID { get { return Row["id"].ToString(); } }
public string ID2 { get { return Row["id2"].ToString(); } }
public string ID3 { get { return Row["id3"].ToString(); } }
public double Dbl1 { get { return (double)Row["dbl1"]; } }
// ... total about 12 such fields !
}
Dictionary<string,Wrapper> dictWrappers;
方法一
Wrapper o = new Wrapper(dr);
/// some action with o
myMethod( o );
方法二
Wrapper o;
if ( ! dictWrappers.TryGetValue( dr["id"].ToString(), out o ) )
{
o = new Wrapper(dr);
dictWrapper.Add(o.ID, o);
}
/// some action with o
myMethod( o );