给定以下代码:
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 更快,但有时不是最易读的选项。编译器是否识别出这样的模式并相应地对其进行优化?