В Mozilla разработан способ увеличить скорость работы WebAssembly в Firefox

Компания Mozilla с помощью распараллеливания компиляции будет увеличивать скорость работы байткода WebAssembly и asm.js.

Один из инженеров компании разработал способ сократить время запуска asm.js в браузере с помощью технологии параллелизма. «Так как для WebAssembly используется тот же обработчик, что и для asm.js, браузер будет обрабатывать быстрее и его», — сообщает автор технологии Бенджамин Бувье.

Распараллеливание состоит из разбиения последовательной программы на более мелкие независимые задачи и их запуска на разных ядрах процессора. Принцип технологии, используемой в Firefox, заключается в том, чтобы убрать из главного потока работу виртуальной машины для выполнения asm.js, а также удаление и генерацию кода. Семантика asm.js и wasm схожа, то есть можно просто кодировать wasm опкодами WebAssembly вместе с некоторыми специфическими для asm.js.

Хотя компиляция и ускорена, в мобильных приложениях она все равно может сильно тормозить выполнения кода, так как парсинг — все еще слабое место, а в работе asm.js он занимает важную роль. Парсинг WebAssembly же происходит на порядок быстрее.

По словам разработчика технологии, в будущем будет проводиться дальнейшая оптимизация процесса.

Источник: ITWorld