Для любого действия существует аналогичная и прямо противоположная правительственная программа.

Мужик не видел своего друга около 30 лет и, к своему удивлению, насчитал в его доме 11 детей. ...

Google продлил до 8 лет время поддержи устройств на базе ChromeOS
Thu, 23 Jan 2020 09:54:13 +0300

Открыт код клиентских приложений ProtonVPN
Wed, 22 Jan 2020 10:44:18 +0300

Технический комитет OASIS утвердил спецификацию OpenDocument 1.3
Wed, 22 Jan 2020 10:03:53 +0300

Дистрибутив Kubuntu начал распространение ноутбука Kubuntu Focus
Wed, 22 Jan 2020 08:38:45 +0300

Для Btrfs представлена асинхронная реализация DISCARD
Wed, 22 Jan 2020 04:48:18 +0300

Сanonical предложил Anbox Cloud, облачную платформу для запуска Android-приложений
Tue, 21 Jan 2020 14:37:47 +0300

Red Hat развивает JIT-компилятор MIR
Tue, 21 Jan 2020 08:48:56 +0300

Rust-фреймворк actix-web возрождён и будет передан сообществу
Mon, 20 Jan 2020 21:36:52 +0300

В Минэкономики РФ предложили создать архив кода, дублирующий GitHub
Mon, 20 Jan 2020 19:05:46 +0300

Копилефт лицензии постепенно вытесняются пермиссивными
Sat, 18 Jan 2020 22:55:51 +0300

Разработчик Rust-фреймворка actix-web удалил репозиторий из-за травли
Sat, 18 Jan 2020 20:17:10 +0300

Linux-смартфон PinePhone доступен для заказа
Fri, 17 Jan 2020 09:55:06 +0300

Google опубликовал план прекращения поддержки Chrome Apps, NaCl, PNaCl и PPAPI
Fri, 17 Jan 2020 09:15:19 +0300

IBM, Microsoft и Mozilla поддержали Google в судебном разбирательстве с Oracle
Thu, 16 Jan 2020 21:42:07 +0300

В Xfce осуществлён перевод диалогов на декорирование окон на стороне клиента
Thu, 16 Jan 2020 12:19:52 +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 Мб.

8.9391 68.6856 0.5655 61.9515

НОВОСТИ: Доступен GameMode 1.5, оптимизатор производительности игр в Linu ... Wed, 22 Jan 2020 21:25:43 +0300

Компания Feral Interactive опубликовала выпуск оптимизатора GameMode 1.5, реализованного в виде фонового процесса, на лету изменяющего различные системные настройки Linux для достижения максимальной производительности игровых приложений. Код проекта написан на языке Си и поставляется под лицензией BSD.

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