ループする〜137000レコードを含むエンティティのリストがあります。次に、これに含まれる追加パラメーターのタプルのリストにリンクする必要があります〜150000
なぜそれはより長くかかり続けるのですか、それはより多くの反復を行いますか?これがストップウォッチからのものです。見つかったもの:基準に一致する136770個のアイテム。
10,000個のアイテムが処理されましたEllapsedTime:5473つまり:0.0912166666666667分。
処理された20,000アイテムEllapsedTime:15307つまり:0.255116666666667分。
30,000アイテムが処理されましたEllapsedTime:30065つまり:0.501083333333333分。
50,000アイテムが処理されましたEllapsedTime:74507つまり:1.24178333333333分。
処理された75,000アイテムEllapsedTime:157836つまり:2.6306分。
処理された100,000アイテムEllapsedTime:272495つまり:4.54158333333333分。
EllapsedTime:499663つまり:8.32771666666667分。
これを最適化する方法はありますか?
List<Entites> alMatched
List<Tuple<int, double, int, int>> lsItems = new List<Tuple<int, double, int, int>>();
IEnumerable<Tuple<int, double, int, int>> enumThingy = lsItems;
for (int z = 0; z <= alMatched.Count() - 1;z++ )
{
Entity a = alMatched[z];
var newRepl = enumThingy.Where(d => d.First == a.ID).First();
if (newRepl != null)
{
}
switch (z)
{
case 10000:
Debug.Print("10,000 items processed " + ElapsedTime(sw.ElapsedMilliseconds));
break;
case 20000:
Debug.Print("20,000 items processed " + ElapsedTime(sw.ElapsedMilliseconds));
break;
case 30000:
Debug.Print("30,000 items processed " + ElapsedTime(sw.ElapsedMilliseconds));
break;
case 50000:
Debug.Print("50,000 items processed " + ElapsedTime(sw.ElapsedMilliseconds));
break;
case 75000:
Debug.Print("75,000 items processed " + ElapsedTime(sw.ElapsedMilliseconds));
break;
case 100000:
Debug.Print("100,000 items processed " + ElapsedTime(sw.ElapsedMilliseconds));
break;
}
}
よろしく
_エリック