次のコードが与えられます:
const int constA = 10;
const int constB = 10;
function GetX(int input) {
int x = constA * constB * input;
...
return x;
}
.Netコンパイラは式を「置き換え」て1000を入れ、計算が何度も繰り返されないようにしますか?
コードはどのような状況で最も速く実行されますか?
int x = constA * constB * input;
int x = 10 * 10 * input;
int x = 100 * input;
オプション3は2よりも高速になると思いますが、最も読みやすいオプションではない場合もあります。コンパイラはこのようなパターンを認識し、それに応じて最適化しますか?