The OpenNET Project / Index page

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



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

Исходное сообщение
"Facebook открыл код JavaScript-движка Hermes"
Отправлено opennews, 12-Июл-19 22:03 
Компания Facebook открыла исходные тексты легковесного JavaScript-движка Hermes (https://hermesengine.dev/), оптимизированного для выполнения приложений на базе фреймворка React Native (https://facebook.github.io/react-native/) на платформе Android.  Поддержка Hermes встроена (https://github.com/facebook/react-native/releases) в React Native начиная с сегодняшнего выпуска 0.60.2. Проект признан решить проблемы с большим временем запуска нативных JavaScript-приложений и значительным потреблением ресурсов. Код написан (https://github.com/facebook/hermes/) на языке C++ и распространяется под лицензией MIT.

В движке поддерживается (https://github.com/facebook/hermes/blob/master/doc/Features.md) часть JavaScript-стандарта ECMAScript 2015 (конечной целью является его полная поддержка) и обеспечивается совместимость с большинством существующих приложений React Native. Для включения Hermes в приложении React Native достаточно добавить в проект опцию "enableHermes: true". Также возможна сборка Hermes в режиме CLI-интерфейса, позволяющая выполнить произвольные JavaScript-файлы из командной строки

Из достоинств применения  Hermes отмечается сокращение времени запуска приложения, снижение потребления памяти и уменьшение размера приложения. Ускорение запуска приложений достигается благодаря применению на этапе сборки предкомпиляции в компактный и эффективный байткод. Для непосредственного выполнения приложения применяется разработанная в рамках проекта виртуальная машина со сборщиком мусора SemiSpace. При применении  V8 наиболее длительными являются стадии парсинга исходного кода и его компиляции на лету.  Hermes выносит эти стадии на этап сборки и поставляет поставлять приложения в форме оптимизированного байткода.

Обработка JavaScript разделяется на несколько стадий. Вначале осуществляется парсинг исходных текстов и генерация промежуточного представления кода (Hermes IR (https://github.com/facebook/hermes/blob/master/doc/IR.md)),&...основанного на представлении SSA (https://ru.wikipedia.org/wiki/SSA) (Static Single Assignment).  Далее, промежуточное представление обрабатывается в оптимизаторе, который применяет техники упреждающей статической оптимизиации для преобразования первичного промежуточного кода в более эффективное промежуточное представление, сохраняя  при этом оригинальную семантику программы. На последнем этапе генерируется байткод для регистровой виртуальной машины.


URL: https://www.theregister.co.uk/2019/07/12/facebook_hermes_jav.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=51082

 

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



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

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