我发现在现实生活中的情况下,表达的双方都真的很便宜,所以它剃掉了一两纳秒避免分支,使用无条件
&代替
&&。(不过,这些都是极高性能的数学实用程序;我几乎永远不会在其他代码中使用它,并且如果没有详尽的基准测试来证明它更好,我也不会这样做。)
(举个具体的例子,
x >0它将是超级便宜且无副作用的。为什么还要冒着分支预测错误的风险来避免无论如何都会变得如此便宜的测试?当然,因为这将
boolean是最终结果,在一个分支中,但
if(x >= 0 && x <= 10)涉及两个分支,并且
if (x >= 0 & x <= 10)仅涉及一个。)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)