括号重要吗?
do the parantheses matter?
给出这个JSPerf测试
为什么这样更快
var x;var i = 1E4;var j = 1E4;
for (; i-- > -1;) {
x = -~x;
}
for (; j-- > -1;) {
x = ~ - x;
}
var x;var i = 1E4;var j = 1E4;
for (; j-- > -1;) {
x = -1 * ~x;
}
for (; j-- > -1;) {
x = ~ (-1 * x);
}
第二个版本是否可以更好地优化,或者原因是什么?
在第二个代码示例中,您使用j作为两个循环中的迭代器。
我相信在第二个测试中,您要么忘记将j
重置为1E4
,要么您打算在其中一个循环中使用i
。请看下面的测试:
我添加了一个片段,在第一个循环中使用i
,在第二个循环中使用j
,它的执行速度与第一个测试一样快。
相关文章:
- 没有找到相关文章