Adding in Javascript (NodeJS)

Adding in Javascript (NodeJS)

本文关键字:NodeJS Javascript in Adding      更新时间:2023-09-26

我试图在NodeJS中最大化我的FLOPS,所以我想使用按位操作添加。

:

var a = 6, b = 12;
a + b

:

var add = function (a, b) {
    var carry, result, shiftedcarry;
    carry = a & b,
    result = a ^ b;
    while (carry !== 0) {
        shiftedcarry = carry << 1;
        carry = result & shiftedcarry;
        result ^= shiftedcarry;
    }
    return result;
}
add(a, b);

然而,我发现SO答案说,由于转换,在Javascript中按位操作较慢。是否有绕过这个问题(像V8扩展或其他东西)?

我之所以如此专注于增加我的FLOPS,是因为我正在考虑在超级计算机上运行NodeJS实验。

V8是一个非常好的JIT。经过足够的迭代,它会比你更好地优化简单的a + b。

我做了一个jspref测试来演示:http://jsperf.com/add-optimization

如果你真的想深入研究,你可以戳一下V8的输出。我怎么能看到V8生成的机器码?