如果要比较两个整数,操作符对执行比较所需的时间有影响吗?例如,给定:
if (x < 60)
和
if (x <= 59)
哪个将提供最好的性能,或者性能差异可以忽略不计?性能结果是否依赖于语言?
我经常发现自己在代码中混合使用这些操作符。
即使存在明显的差异,我认为编译器也足够聪明,可以处理这些事情。因此,我的建议是使用使代码更容易理解的代码,并将微优化留给编译器。
在您给出的特定示例中,一边是常量,如果它明显更快,我希望优化器将一边转换为另一边。
差异可以忽略不计。从理论上讲,它们可能与语言有关。
正如前面提到的另一个答案,它们在理论上也是平台相关的。
参见:不等式运算符比相等运算符快吗?
在性能上几乎肯定没有差别。对于CISC处理器,通常会有各种分支指令来处理所有的差异<<=>>=等;在RISC上可能有一个非常小的性能差异,尽管我严重怀疑它!