比较操作员性能(>、>=、<、<=)



如果要比较两个整数,操作符对执行比较所需的时间有影响吗?例如,给定:

if (x < 60)

if (x <= 59)

哪个将提供最好的性能,或者性能差异可以忽略不计?性能结果是否依赖于语言?

我经常发现自己在代码中混合使用这些操作符。

即使存在明显的差异,我认为编译器也足够聪明,可以处理这些事情。因此,我的建议是使用使代码更容易理解的代码,并将微优化留给编译器。

在您给出的特定示例中,一边是常量,如果它明显更快,我希望优化器将一边转换为另一边。

差异可以忽略不计。从理论上讲,它们可能与语言有关。

正如前面提到的另一个答案,它们在理论上也是平台相关的。

参见:不等式运算符比相等运算符快吗?

在性能上几乎肯定没有差别。对于CISC处理器,通常会有各种分支指令来处理所有的差异<<=>>=等;在RISC上可能有一个非常小的性能差异,尽管我严重怀疑它!

最新更新