奎德里是 - 這以下兩種方法的執行最好
目標 - 得到式包裝(下文定義)
標準的一個目的 - 速度超過存儲
沒有。記錄 - 約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