人们不断告诉我,而不是写“向左移1位”,只写“2乘2”,因为它更具可读性,编译将足够聪明,可以进行优化。
通常会编译什么,开发人员不应该这样做(代码可读性)?我总是写string.length == 0
而不是string == ""
因为我读了5到6年前的某个地方,说数字运算要快得多。这仍然是真的吗?
或者,大多数编译器都足够聪明以转换以下内容:
int result = 0;
for (int i = 0; i <= 100; i++)
{
result += i;
}
进入:int result = 5050;
?
你最喜欢的“优化”是什么,因为大多数编译不会做?
答案 0 :(得分:5)
算法:到目前为止,地球上没有编译器可以为您选择更好的算法。太多人在他们进行基准测试后匆匆跳到了重写C部分,当他们应该真正考虑替换他们首先使用的算法时。