Все что становится обыденным, мало ценится.

В этом году правительство Голландии выделило на борьбу с пьянством 20 тонн марихуаны. ...

XMPP-клиенту yaxim исполнилось 10 лет
Sat, 24 Aug 2019 14:59:36 +0300

Операционной системе Unix исполнилось 50 лет
Sat, 24 Aug 2019 09:14:53 +0300

Google отказался от применения названий десертов для выпусков Android
Sat, 24 Aug 2019 08:42:29 +0300

IBM, Google, Microsoft и Intel образовали альянс для развития открытых технологий защиты данных
Fri, 23 Aug 2019 13:20:08 +0300

Компания Google представила инициативу Privacy Sandbox
Thu, 22 Aug 2019 23:26:03 +0300

Представлены варианты Qt5 для микроконтроллеров и OS/2
Thu, 22 Aug 2019 12:43:06 +0300

27 августа в Московском Политехе выступит Ричард Столлман
Thu, 22 Aug 2019 01:18:55 +0300

В Firefox, Chrome и Safari заблокирован внедряемый в Казахстане "национальный сертификат"
Wed, 21 Aug 2019 19:13:51 +0300

IBM объявил об открытии архитектуры процессоров Power
Wed, 21 Aug 2019 13:33:19 +0300

Xfce 4.16 ожидается в следующем году
Wed, 21 Aug 2019 09:08:46 +0300

Bitbucket прекращает поддержку Mercurial
Tue, 20 Aug 2019 22:59:58 +0300

Утверждено прекращение формирования репозиториев для архитектуры i686 в Fedora 31
Mon, 19 Aug 2019 23:31:48 +0300

OpenDrop - открытая реализации технологии Apple AirDrop
Mon, 19 Aug 2019 20:54:26 +0300

Представлено ответвление Proton-i, переведённое на более свежие версии Wine
Mon, 19 Aug 2019 09:38:24 +0300

В Chrome планируют полностью убрать поддержку FTP
Fri, 16 Aug 2019 08:38:58 +0300

Новости OPENNET
Новости

Компания Facebook открыла исходные тексты легковесного JavaScript-движка Hermes, оптимизированного для выполнения приложений на базе фреймворка React Native на платформе Android. Поддержка Hermes встроена в React Native начиная с сегодняшнего выпуска 0.60.2. Проект призван решить проблемы с большим временем запуска нативных JavaScript-приложений и значительным потреблением ресурсов. Код написан на языке C++ и распространяется под лицензией MIT.

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

Для непосредственного выполнения приложения применяется разработанная в рамках проекта виртуальная машина со сборщиком мусора SemiSpace, распределяющим блоки только по необходимости (On-demand), поддерживающим перемещение и дефрагментацию блоков с отдачей освободившейся памяти операционной системе, обходящийся без периодического сканирования содержимого всей кучи.

Обработка JavaScript разделяется на несколько стадий. Вначале осуществляется парсинг исходных текстов и генерация промежуточного представления кода (Hermes IR), основанного на представлении SSA (Static Single Assignment). Далее, промежуточное представление обрабатывается в оптимизаторе, который применяет техники упреждающей статической оптимизиации для преобразования первичного промежуточного кода в более эффективное промежуточное представление, сохраняя при этом оригинальную семантику программы. На последнем этапе генерируется байткод для регистровой виртуальной машины.

В движке поддерживается часть JavaScript-стандарта ECMAScript 2015 (конечной целью является его полная поддержка) и обеспечивается совместимость с большинством существующих приложений React Native. В Hermes решено не поддерживать локальный запуск eval(), выражения "with", рефлексию (Reflect и Proxy), API Intl API и некоторые флаги в RegExp. Для включения Hermes в приложении React Native достаточно добавить в проект опцию "enableHermes: true". Также возможна сборка Hermes в режиме CLI-интерфейса, позволяющая выполнить произвольные JavaScript-файлы из командной строки. Для отладки доступен режим lazy-компиляции, позволяющий в процессе разработки не компилировать JavaScript каждый раз, а генерировать байткод на лету уже на устройстве.

При этом Facebook не планирует адаптировать Hermes для Node.js и других решений, сосредотачивая внимание только на мобильных приложениях (AOT-компиляция вместо JIT наиболее оптимальна в контексте мобильных систем, в которых ограничен размер оперативной памяти и более медленные Flash). Проведённое сотрудниками Microsoft предварительное тестирование производительности показало, что при использовании Hermes приложение Microsoft Office для Android становится доступно для работы через 1.1 сек. после запуска и потребляет 21.5MB ОЗУ, в то время как при использовании движка V8 на запуск тратится 1.4 сек., а потребление памяти составляет 30MB.

Дополнение: Facebook опубликовал результаты собственных тестов. При использовании Hermes с приложением MatterMost время начала доступности для работы (TTI, Time To Interact) уменьшилось 4.30 до 2.01 сек., размер APK-пакета сократился с 41 до 22 Мб, а потребление памяти с 185 до 136 Мб.

9.2632 72.6243 0.6153 65.6046

НОВОСТИ: В репозитории NPM выявлен вредоносный пакет bb-builder. Выпуск N ... Thu, 22 Aug 2019 10:20:19 +0300

Администраторы репозитория NPM блокировали пакет bb-builder, в котором выявлена вредоносная вставка. Вредоносный пакет оставался незамеченным с августа прошлого года. За год злоумышленники успели выпустить 7 новых версий, которые загрузили около 200 раз.

???????@Mail.ru Opera Firefox INFOBOX - хостинг Google Chrome