-3
NodeJS에서 FLOPS을 최대화하려고하므로 비트 연산을 사용하여 추가하고 싶습니다. 그래서Javascript (NodeJS)에 추가하기
대신
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 답을 발견했다. 어쨌든이 문제를 우회 할 수 있습니까 (예 : V8 확장 프로그램 등)?
내 플로트를 늘리는 데 너무 집중하고있는 이유는 슈퍼 컴퓨터에서 NodeJS 실험을 실행하기 때문입니다.
니스 이름 V8의 출력에 – LanguagesNamedAfterCofee
을 찌를 할 수 있습니다 다이빙하려면 http://jsperf.com/add-optimization
:
나는 보여주기 위해 jspref 테스트를했다 자바 스크립트에서 이것을 작성해서는 안됩니다. V8은 빠르지 만 최적의 상태는 아닙니다. – FakeRainBrigandV8의 JIT가 그 것이다. 대부분의 경우 '최적화'할 필요는 없지만 최적화를 피할 필요가 있습니다. 여기에 당신을 시작할 수있는 링크가 있습니다 : https://github.com/petkaantonov/bluebird/wiki/Optimization-killers – generalhenry