1

这只是为了缓解我的好奇心,如果有人愿意回答它,虽然那太棒了。

使用 if 语句,计算结果所需的时间是否受其编写方式的影响?

所以我的意思是(如果不是很清楚的话)以下两个语句会花费相同的时间来处理吗?

if 1 < 2 and 3 = 3 then
   //do something
end if

相比

if 1 < 2 then
    if 3 = 3 then
      //Do something
    end if
end if
4

2 回答 2

3

这只是过早优化的另一种情况。想了很多,你不会得到任何东西。

您应该关注的是如何使您的代码更具可读性。

于 2012-11-13T06:04:39.707 回答
3

如果我们认为编译器不会优化这两个调用,那么第二个语句将需要两个分支指令而不是一个。由于流水线,分支需要为 CPU 做一些额外的工作。所以,从技术上讲,第二个版本需要更多的工作,但在这里应该没关系。

于 2012-11-13T06:06:16.473 回答