C、C++の最適化について語るスレ 3
■ このスレッドは過去ログ倉庫に格納されています
0599477
2011/09/21(水) 10:29:13.39double x[N], y[N], z[N];
int b[N], r[N], XY[M];
for(int i = 0; i < max; i++){
const int bi = b[i];
const int xi = x[i];
const int yi = y[i];
const int zi = z[i];
for( int j = i+1; j < max; j++){
r[j] = sqrt((xi-x[j])*(xi-x[j]) +
(yi-y[j])*(yi-y[j]) +
(zi-z[j])*(zi-z[j]))+0.5;
}
for( int j = i+1; j < max; j++)
XY[r[j]] += bi*b[j];
}
このように書けば、書き込みの無駄が省ける事に気づきました
これで1%ほど速度が上がりました
■ このスレッドは過去ログ倉庫に格納されています