Итак, как я могу проверить, выполняется ли он, как обычный Javascript, например, с помощью двигателя V8 от Google или выполняется с близкой собственной производительностью с использованием сборки?Как проверить, использует ли Firefox код asm.js?
6
A
ответ
4
Если вы просто посмотрите на консоль, Firefox сообщит вам, подтвержден ли ваш asm.js или нет. В случае сценария, вставленного выше, я получаю:
TypeError: asm.js type error: non-expression-statement call must be coerced test.html:23
, который не предполагает. Строка 23 в этом случае:
return +sqrt(square(x) + square(y));
Если я заменить эту строку с этим:
return +sqrt(+square(x) + +square(y));
то консоль ошибок говорит:
Error: successfully compiled asm.js code (total compilation time 0ms)
, что означает все это работало нормально (и «Ошибка» есть только фиктивная причуда того, как JS-движок сообщает об успехах в этом случае, я подал https://bugzilla.mozilla.org/show_bug.cgi?id=950527, чтобы получить это исправление).