> Вообще-то существенный, ибо SIMD и прочее - это когда по ресурсам уже прижало настолькоВообще-то SIMD в данном случае это когда у тебя есть код, который можно распараллеливать, все так делают, а ты так не делаешь. И если ты не в курсе, то PNaCl тоже поддерживает инструкции SIMD и ему это тоже нужно, а в NaCl с ними и вовсе собирали не решая нужно или не нужно так-как ответ и так очевиден.
> Бандвиз.
Ну во-первых кто его считает, а во-вторых всё одно потом из кэша в следующий раз поднимется. Особенно если эта игра, которой надо сходу загрузить пару сотен метров моделек и текстур. ± несколько метров тут роли как-то не играют.
> Память - не "только" ибо JS ее жpет крупнооптово и счет запросто идет…
На близкий к потреблению нативного приложения так-как asm.js без интерпретации сразу скармливается компилятору и дальше работает с памятью как нативное приложение, а не как JS обычно это делает.
> Время на парсинг дyрного IR тоже никуда не денется.
Это играет свою крайне незначительную роль до первой компиляции и зависит от оптимизаций в самом компиляторе. Парадоксально, но asm.js порой умудряется обгонять PNaCl в скорости загрузки даже на холодном старте: https://blog.mozilla.org/luke/2014/01/14/asm-js-aot-compilat.../
> Т.к. работает более-менее со скоростью обычной компилированной программы, плюс-минус лапоть.
Ага, лапоть процентов эдак в 15-20. Да, в asm.js начинал c 50% лаптем, но уж в декабре прошлого года довели до 25% лаптя и с тех пор продолжали его сокращать. Уж не знаю на сколько они это сделали, но разница с родным для системы кодом не существенна у обоих. Оверхед в 5-10% есть даже у NaCl, который вроде как native, а поди ж ты.
> Вот только сам JS как IR - шит, и это не лечится иначе чем заменой IRа на что-то более вменяемое. Как шит скармливается - малосущественно. Фэйл сразу на старте, при выборе IR.
Но если в твои планы входит исключение лишних сущностей и полная обратная совместимость, то это лютый вин.
> Только толку с этой обратной совместимости…
Очень много, когда дело касается веб-приложений, которые не прочь работать быстро, но могут и медленно. Графический редактор, например. Есть asm.js — летаем, нет — всё одно пользоваться можно. В конце-концов уже сейчас существуют вполне сносные по скорости работы графические редакторы, написанный на чисто JS.
> Не больший костыль чем JIT в браузере. Этот JIT тоже нигде кроме браузера не требуется.
Т.е. то, что это костыль, ты не оспариваешь?
JIT в компиляторе JS хоть нужен для ускорения работы с JS, который используется считай что везде, тогда как PNaCl это сугубо нишевое решение и держать под это ещё один совершенно иной компилятор, и нафиг ни для чего более не нудное API непонятно зачем надо. Ну кроме как иметь возможность работать с настоящим байткодом и на этом как-то всё.
> Меня не устраивает миндфак с использованием JS как IR.
И это на самом деле всё, что тебя не устраивает.