Optimization If语句处理速度

Optimization If语句处理速度,optimization,if-statement,Optimization,If Statement,这只是为了缓解我的好奇心,如果有人愿意回答,那就太好了 对于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 这只是另一种情况。你想了这么多也不会有什么收获

这只是为了缓解我的好奇心,如果有人愿意回答,那就太好了

对于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

这只是另一种情况。你想了这么多也不会有什么收获


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

这只是另一种情况。你想了这么多也不会有什么收获



你应该关注的是如何使代码更可读。

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

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

第二个示例是一个糟糕的做法,看起来很丑陋。老实说,我不确定为什么会有java和.net标记。问题不是语言特定的,所以我将其分为两类。只是出于好奇。第二个例子是一个糟糕的做法,看起来很丑陋。老实说,我不知道为什么会有java和.net标记。这些问题不是特定于语言的,所以我将其分为两类。只是出于好奇。很酷,谢谢!如果您不介意回答其他问题,Java和.net之类的语言会优化这些东西吗?@Feash:Java optimizer非常聪明,但我不能确切地告诉您它是否会优化嵌套的ifs。可能会的。很天真,第一个也需要两个分支,因为短路。@harold:嗯,没想过。那么这两种情况是等价的。谢谢。@AkiSuihkonen只有当编译器进行了一些优化,常量1、2和3不是占位符时,这才可以解决整个问题。酷,谢谢!如果您不介意回答其他问题,Java和.net之类的语言会优化这些东西吗?@Feash:Java optimizer非常聪明,但我不能确切地告诉您它是否会优化嵌套的ifs。可能会的。很天真,第一个也需要两个分支,因为短路。@harold:嗯,没想过。那么这两种情况是等价的。谢谢。@AkiSuihkonen只有当编译器进行了一些优化,常量1、2和3不是占位符时,这才可以解决整个问题。如果你不回答问题,你应该发表评论,而不是答案。如果你不回答问题,你应该发表评论,而不是答案。