Adding in Javascript (NodeJS)
Adding in Javascript (NodeJS)
我试图在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生成的机器码?
相关文章:
- 如何使用nodejs/javascript实现地理编码响应
- 从多线程C++插件回调NodeJS Javascript函数
- nodejs / JavaScript 变量被覆盖
- 对象未定义到模块中,Nodejs javascript
- 将函数源代码转换为 NodeJS/JavaScript 中的字符串
- NodeJS/JavaScript:TypeError:Employee不是函数
- 如何在NodeJS/Javascript中进行长轮询
- 如何在C++中实现NodeJS JavaScript API的包装器
- nodejs/javascript变量保留其旧值
- NodeJS/Javascript函数返回undefined
- AutoIT是否与Mocha Selenium, Nodejs,Javascript一起工作?
- 我如何通过值传递一个对象在nodejs/javascript函数
- 在nodejs / javascript中嵌套函数
- 我可以在HTML文档中运行Nodejs JavaScript脚本吗?
- 可以在NodeJs/Javascript中使用所有oop特性
- NodeJs/Javascript在嵌套类中访问父方法
- Php运行nodejs javascript grunt任务
- Nodejs/Javascript动态间隔
- Nodejs Javascript typearray到Buffer到String再返回
- 我不明白为什么我的nodejs/javascript正则表达式不工作