奎德里是 - 这以下两种方法的执行最好
目标 - 得到式包装(下文定义)
标准的一个目的 - 速度超过存储
没有。记录 - 约1000-约2000,最大约6K
选择 - 动态创建的对象还是从字典
执行速度查找 - 每秒C#性能问题
NB称为x次 - 我需要交付工作代码第一,然后去优化,因此,如果任何理论可以提供瞥见在后方的场景信息,这将帮助之前,我实际的性能测试可能由排爆周四
定义 -
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;
方法1种
Wrapper o = new Wrapper(dr);
/// some action with o
myMethod(o);
方法2
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);
你的问题是什么?如果您想知道哪个运行最好,请查看System.Diagnostics.Stopwatch,并计算大量运行时间。 – abelenky 2009-10-06 01:08:11
嗯......你为什么不自己测试一下? -1 – spender 2009-10-06 01:10:18
ummm,再次阅读这个问题 - 它清楚地表明,如果任何理论家能够提供我在实际基准测试之前发生的事情的一瞥 – Kumar 2009-10-13 15:38:25