Jam*_*hin 0 comparison performance cpu-usage conditional-statements
这种用法在编写循环时很常见.
我在想,如果i >=0需要更多的CPU周期,因为它有两个条件greater than OR equal to相比i > -1.一个人知道比另一个好,如果是,为什么?
这是不正确的.JIT将两个测试都作为单一机器语言指令实现.
并且CPU时钟周期数不是由零或-1的比较数决定的,因为CPU应该进行一次比较并设置标志以指示比较结果是<,>还是=.
这些指令之一可能在某些处理器上更有效,但这种微优化几乎总是不值得做.(也可能JIT - 或javac - 实际上会为两个测试生成相同的指令.)
| 归档时间: |
|
| 查看次数: |
184 次 |
| 最近记录: |