【发布时间】:2012-03-10 04:42:08
【问题描述】:
所以基本上我想知道,在 C++ 语言的这些循环中,谁的速度更快? 基本上,这些示例中哪个编译速度更快 -
int S = 1, D = 2, d = 1;
for(int x = 0; x < 10000; x++) {
S += D/2-d *s;
}
和
int S = 1, D = 2, d = 1, x = 0;
while(x < 10000) {
x++;
S += D/2-d * S;
}
【问题讨论】:
-
(1)“编译会更快”吗?你的意思是“跑得更快”? (2)让编译器做微优化,你应该做更具可读性的事情。可读性适用于程序员,优化适用于编译器
-
循环的开销真的很重要吗?如果确实如此,那么必须提供更多。您在哪个架构上运行,哪个编译器以及编译器的哪些优化设置?理论上 for 循环可以完全删除,while 可以替换为 x = 10000;
-
好吧,基本上,我跑得并不快 :),抱歉。
-
@DavidRodríguez-dribeas:天哪……我的评论只出现了几秒钟!
标签: c++