The OpenNET Project / Index page

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



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

Исходное сообщение
"В Firefox 22 появится Asm.js, низкоуровневое высокопроизводи..."
Отправлено opennews, 22-Мрт-13 23:35 
Разработчики проекта Mozilla объявили (https://blog.mozilla.org/luke/2013/03/21/asm-js-in-firefox-n.../) об интеграции в ночные сборки Firefox оптимизирующего модуля OdinMonkey  c реализацией поддержки Asm.js (http://asmjs.org/) - низкоуровневого подмножества (http://asmjs.org/spec/latest/) языка JavaScript, позволяющего существенно увеличить производительность приложений, автоматически преобразованных в JavaScript с языков C/C++ при помощи таких инструментов, как  Emscripten (https://www.opennet.ru/opennews/art.shtml?num=35313) и  Mandreel (http://mandreel.com/). Ожидается, что поддержка Asm.js будет включена в выпуск  Firefox 22, запланированный на 26 июня.


Из отличительных черт Asm.js можно отметить поддержку строгой типизации, при которой переменные на протяжении своего жизненного цикла имеют заранее известный и не изменяемый тип. Наличие информации о типах позволяет использовать не только JIT, но и предварительную AOT-компиляцию, выполняемую для всего кода до начала его выполнения и генерирующую более простой и эффективный машинный код. При этом, в отличие от JIT-компиляции, Asm.js обеспечивает предсказуемую производительность и не зависит от сборщика мусора. В итоге, код с известной информацией о типах выполняется всего в два раза медленнее нативного приложения, написанного на C/C++. В то время как без Asm.js скомпилированное с использованием Emscripten приложение выполняется медленнее в 5 раз.

<center><a href="http://kripken.github.com/mloc_emscripten_talk/macro4b.png&q... src="https://www.opennet.ru/opennews/pics_base/0_1363977912.png" style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border=0></a></center>

Достоинством Asm.js также является то, что он отлично интегрируется с существующими JavaScript-движками, не требуя подключения новой виртуальной машины или JIT-компилятора - достаточно внести небольшие оптимизацию в текущий движок JavaScript. В частности, для  SpiderMonkey подготовлен оптимизирующий модуль OdinMonkey, реализующий дополнительные техники оптимизации для Asm.js.


Подмножество JavaScript, предлагаемое в Asm.js, полностью совместимо со стандартным JavaScript и может выполняться в любых браузерах, так как вся дополнительная информация определяется в форме аннотаций (например, "x = x|0; // x : int"). Совместимость полностью сохраняется - если браузер не поддерживает Asm.js, то код выполняется как обычный JavaScript, а если поддерживает  - включается дополнительный оптимизирующий модуль, учитывающий добавленные в код аннотации.

Поддержка Asm.js уже обеспечена в Emscripten и активируется при сборке с установкой флага "ASM_JS=1". Пока код Asm.js нацелен на автоматическую генерацию, но в будущем, планируется обеспечить поддержку генерации Asm.js-кода на основе исходных текстов, написанных на более удобных для разработчиков низкоуровневых диалектах JavaScript, таких как LLJS (http://lljs.org/) (Low-Level JavaScript), что позволит использовать Asm.js не только для кода, транслируемого с C/C++, но и для проектов, изначально развиваемых на JavaScript.


URL: https://blog.mozilla.org/luke/2013/03/21/asm-js-in-firefox-n.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=36468

 

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



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

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