この asm.js をテストするために、jsPref を作成しました: http://jsperf.com/asm-diag
asmjs コードは通常の js コードよりも 2 倍遅く、firefox nightly でも実行されるため、何か間違ったことをしたと思います。
コードの何が問題なのかわかりません。
前もって感謝します、
編集:
Benchmark.prototype.setup = function() {
function DiagModule(stdlib, foreign, heap) {
"use asm";
// Variable Declarations
var sqrt = stdlib.Math.sqrt;
var pow = stdlib.Math.pow;
// Function Declarations
function square(x) {
x = x|0;
return (pow(x, 2))|0;
}
function diag(x, y) {
x = x|0;
y = y|0;
return +sqrt(square(x) + square(y));
}
return { diag: diag };
}
diag = DiagModule({ Math: Math }).diag;
};
asm:
var _diag = diag(10, 100);
通常:
var _diag = Math.sqrt(Math.pow(10, 2) + Math.pow(100, 2))