🔥

Тред (RReverser)


Просят рассказать про WebAssembly. Что ж, это уже получше.

Суть WebAssembly - не замена JS. Об этом говорят и сами разработчики WA, но почему-то девелоперы их не особо желают слушать.

WebAssembly - это следующий шаг в развитии таких штук как asm.js. На данный момент он и есть 1-в-1 отображением фич asm.js.

Единственный момент где он выигрывает - это то, что больше не нужно парсить текстовое представление с кучей сложных правил синтаксиса.

Вместо этого, используется бинарное представление синтаксического дерева (AST).

Таким образом, достигается выигрыш в скорости парсинга до 20 раз. (Слишком многие, кстати, путают это со скоростью выполнения кода)

Последнее совершенно неверно. Так как сами правила выполнения остаются те же от asm.js, а в случае V8 - даже виртуальная машина та же.

Ну а причины выигрыша по скорости самого asm.js те же - ручное управление памятью, чистая математика с определенными типами. Никакой магии.

Надеюсь, понятно, что пытаться туда же засунуть бизнес-логику и манипуляции с DOM бессмысленно. Вы не получите никакого профита.