The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Chrome, Firefox и Edge перешли на новый этап тестирования те..."
Отправлено opennews, 31-Окт-16 21:24 
Разработчики web-браузеров Firefox (https://hacks.mozilla.org/2016/10/webassembly-browser-preview/), Chrome (http://v8project.blogspot.ru/2016/10/webassembly-browser-pre...) и Edge (https://blogs.windows.com/msedgedev/2016/10/31/webassembly-b.../) выступили с совместной инициативой WebAssembly Browser Preview, в рамках которой начался новый этап тестирования технологии WebAssembly (http://webassembly.org/), предоставляющей (https://www.opennet.ru/opennews/art.shtml?num=42451) не зависящий от браузера универсальный низкоуровневый промежуточный код для выполнения в браузере приложений, скомпилированных из различных языков программирования.


WebAssembly достиг состояния кандидата на получение статуса MVP (http://webassembly.org/docs/mvp/)
(минимально жизнеспособный продукт). Семантика текстового псевдоязыка (http://webassembly.org/docs/semantics/), бинарный формат (http://webassembly.org/docs/binary-encoding/) и JavaScript API (http://webassembly.org/docs/js/) близки к стабилизации, а реализации WebAssembly унифицированы в JavaScript-движках V8, SpiderMonkey, Chakra и JavaScriptCore. По сравнению с первой тестовой версией в JavaScript API появилась поддержка параллельной компиляции (https://github.com/WebAssembly/design/blob/master/JS.md#weba...), кэширования машинного кода, совместного использования кода (https://github.com/WebAssembly/design/blob/master/JS.md#stru...), динамического связывания (https://github.com/WebAssembly/design/blob/master/DynamicLin...)  и потоковой компиляции (https://github.com/WebAssembly/design/blob/master/FutureFeat...).

В Chrome и Firefox поддержка WebAssembly уже поставляется в штатных сборах в качестве отдельно включаемой опции ("chrome://flags#enable-webassembly" и "about:config javascript.options.wasm"), а в Edge входит в состав экспериментальных сборок (https://github.com/microsoft/chakracore). Для разработчиков подготовлен работающий инструментарий (http://webassembly.org/getting-started/developers-guide/) для компиляции модулей WebAssembly из кода на языках  C/C++. Например, для компиляции С/C++/asm.js в WebAssembly можно использовать Emscripten (https://github.com/kripken/emscripten) или созданный на его основе специальный компилятор Binaryen (https://github.com/WebAssembly/binaryen). Для преобразования тестового формата в бинарный поставляется транслятор  WABT (https://github.com/WebAssembly/wabt).


Включение WebAssembly по умолчанию и публикация первой версии спецификации ожидаются в первом квартале 2017 года, но точные сроки будут зависеть от хода тестирования и отзывов сообщества. Mozilla планирует включить WebAssembly по умолчанию в выпуске Firefox 52, намеченном на 7 марта.   Для демонстрации производительности  WebAssembly подготовлен специальный вариант игры Angry Bots (http://webassembly.org/demo/AngryBots/) на базе движка Unity. В текущем виде при сравнении с asm.js наибольший выигрыш в производительности достигается при решении вычислительных задач, например, 64-разрядные арифметические операции в WebAssembly выполняются лишь в 1.13 раза медленнее, чем нативный код, в то время как в asm.js такие вычисления производятся в 8.93 раза медленнее.

По своим задачам WebAssembly во многом напоминает PNaCl (Portable Native Client) и Asm.js. Основное отличие от Asm.js состоит в том, что WebAssembly является бинарным форматом, не завязанным на исходных текстах JavaScript и позволяющим выполнять в браузере низкоуровневый промежуточный код. В отличие от PNaCl, промежуточный код WASM не является машинным кодом и не изолирован в отдельной виртуальной машине, а выполняется с похожим на JavaScript уровнем изоляции. Среди основных задач WebAssembly выделяется обеспечение переносимости между браузерами, предсказуемость поведения и идентичности выполнения кода на разных платформах. Использование WebAssembly также позволит существенно сократить размер приложений, благодаря компактному промежуточному коду, и увеличить скорость декодирования.


URL: http://v8project.blogspot.ru/2016/10/webassembly-browser-pre...
Новость: https://www.opennet.ru/opennews/art.shtml?num=45403

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру