Не совсем. asm.js потому и не реализован в v8, что ему в множестве случаев удается оптимизировать обычный JS до такой же производительности, что и asm.js+ФФ. Во всяком случае, представленный код не отличается особой мудреностью.
Не-не. Вы, наверно, читая мой коммент, прочли слово «как» там, где его нет :-)
Ок, в v8 быстро, замечательно. Почему не сделать так, чтобы было быстро и в FF?
Точно) Ну если уж на то пошло, то для компиляции в asm.js вообще не нужно ничего писать — скомпилировать исходную С-библиотеку в Emscripten и вуаля. Но это же скучно :)
Насколько я понял сравнивалась время выполнения теста осуществляющего вызовы js библиотеки со временем выполнения этого же теста делающего вызовы c-шной библиотеки через маршалинг. Мне кажется это не вполне корретно, так как маршалинг съедает какое-то время и возможно не мало. Для корретного тестирования стоило бы написать аналогичный тест на C и сравнивать его результаты с js тестом.
Так задача изначально стоит именно в использовании
для браузера и node.js
, поэтому сравнивать нужно C с вызовом из JS или реализацию полностью на JS. Вот если бы мы измеряли на каком языке быстрее будет работать сам алгоритм, то связку бы не учитывали, но тут то и ответ заранее ясен.
Быстрый gzip на javascript для браузера и node.js