二元运算的成本
Costs of binary operations
我问自己使用 >=
是否比 ==
便宜。
此外, >=
在我的情况下会更安全,这是一个循环,将对象添加到列表中。列表本身总是只增加一个,所以 ==
会触发。
当然,它不会影响任何严重的性能,但我只是想知道。
编辑:
语言应该是 Java,但我认为它有点通用。
至少对于基本类型来说,它不会更昂贵。本质上,它们都会调用相同的比较函数,比如 C(a, b)
,并处理 return -1、0 或 +1。例如 >=
会翻译成 C(a, b) != -1
,==
会翻译成 !C(a, b)
,等等
虽然在某些语言中,您可以重复使用运算符,但 ==
与 >=
的成本可能有很大不同。
如果 ==
和 >=
之间没有关系,请使用您的个人偏好,但要保持一致。在维护代码时看到这样的不一致可能会很不协调。
我问自己使用 >=
是否比 ==
便宜。
此外, >=
在我的情况下会更安全,这是一个循环,将对象添加到列表中。列表本身总是只增加一个,所以 ==
会触发。
当然,它不会影响任何严重的性能,但我只是想知道。
编辑: 语言应该是 Java,但我认为它有点通用。
至少对于基本类型来说,它不会更昂贵。本质上,它们都会调用相同的比较函数,比如 C(a, b)
,并处理 return -1、0 或 +1。例如 >=
会翻译成 C(a, b) != -1
,==
会翻译成 !C(a, b)
,等等
虽然在某些语言中,您可以重复使用运算符,但 ==
与 >=
的成本可能有很大不同。
如果 ==
和 >=
之间没有关系,请使用您的个人偏好,但要保持一致。在维护代码时看到这样的不一致可能会很不协调。