[プログラム板] C#, C♯, C#相談室 Part47
■ このスレッドは過去ログ倉庫に格納されています
0170デフォルトの名無しさん
2008/07/11(金) 16:11:15こんな関数を作りました。
public double Max<T>(T[] src, int offset, int length)
{
double ret = double.MinValue;
int end = offset + length;
for(int i = offset ; i < end; i++)
{
double val = System.Convert.ToDouble(src[i]);
if(val > ret)
ret = val;
}
return ret;
}
で、かなり大きなfloat配列(要素数10万オーダー)をこの関数にかけたら、
この関数が実行される前後でこの関数を動かしているプロセスのLOHが数十MB単位で増殖してしまいます。(perfmonで確認)
forループが怪しそうなんですが、どこでLOHをつかまれるのか見当がつきません。
調べ方が甘いのかもしれませんが、お分かりの方いらっしゃいますか?
■ このスレッドは過去ログ倉庫に格納されています