比较效率

标签 comparison performance

什么通常更快:

if (num >= 10)

或:

if (!(num < 10))

最佳答案

编译器很可能会优化这类事情。别担心,在这种情况下只需编写代码以清楚起见。

汇编语言通常有 >= 的操作和 <=< 的步数相同和 > .例如,使用 Motorola 68k , 如果你想比较数据寄存器 %d0%d1和分支如果 %d0大于或等于 %d1 ,你会说这样的话:

cmp %d0, %d1  // compare %d0 and %d1, storing the result
              // in the condition code registers.
bge labelname // Branch to the given label name if the comparison
              // yielded "greater than or equal to" (hence bge)

认为 a >= b 是一个常见的错误意味着计算机将执行两个操作而不是一个操作,因为“大于或等于”中的“或”。

关于比较效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1430706/

相关文章:

c - 小于(<)float与c中if语句的比较

java - 复合比较运算符有什么意义?

php - MySQL查询缓存与应用层缓存结果集

sql - 从选择性能 SQL Server 插入

mysql - 根据分组依据查询最后 N 行

java - JAXB 与 DOM 和 SAX

c# - 什么是用于比较引用类型的两个实例的 "Best Practice"?

java - 如何在java中实现字符串的近似匹配?

java - 为什么HashMap的get()在Java中会同时比较hash值和key?

performance - 在 Windows 上以编程方式获取每个进程的网络统计信息?