既然已经对if语句进行了评估,那么添加else语句是否会对性能产生影响?

一个实际的例子:

if(updateTime >= updateIncrement)
{
    update();
    updateTime = 0;
}
else
    updateTime+=deltaTime;


vs:

if(updateTime >= updateIncrement)
{
    update();
    updateTime = -deltaTime;
}
updateTime+=deltaTime;


编辑:澄清一下,我不是在寻找微优化,这只是一个假设的“东西如何工作”的问题

最佳答案

您应该始终先为清晰起见编写代码。第一个示例更清楚地说明了它在做什么。

JVM基于它知道如何优化的模式库进行优化。这意味着,通常,如果您使用常见的简单习语,则JIT将做得更好。有一些例外,但是您应该假设,除非您已对此代码进行了概要分析并且它已显示为问题,否则不值得使代码“微调”复杂化。

简而言之,第一个示例可能会更快一些,因为它更易于理解。

09-26 02:42