如果要比较两个整数,运算符会对执行比较所需的时间产生影响吗?例如,给定:
if (x < 60)
和
if (x <= 59)
哪一个可以提供最佳性能,或者性能差异可以忽略不计?性能结果与语言相关吗?
我经常发现自己在代码中混合使用这些运算符。任何想法将不胜感激。
即使存在明显的差异,我认为编译器也足够聪明来关心这些事情。所以我的建议是使用使代码更容易理解的东西,并将微优化留给编译器。
在您给出的具体示例中,一侧是恒定的,我希望优化器能够将一侧转换为另一侧(如果它明显更快)。
性能几乎肯定没有差异。对于 CISC 处理器,您通常会拥有各种分支指令来处理所有差异 < <= > >= 等。在 RISC 上,可能存在非常小的性能差异,尽管我对此表示严重怀疑!