Основатель QEMU и FFmpeg представил JavaScript-движок Micro QuickJS

Фабрис Беллар, основатель QEMU и FFmpeg, представил новый проект Micro QuickJS — новый движок JavaScript, ориентированный на встроенные системы.
Важно отметить, что Micro QuickJS не является продолжением или форком QuickJS. Это отдельная кодовая база, разработанная специально для сред с очень ограниченными ресурсами, таких как микроконтроллеры и другие ограниченные по ресурсам встроенные платформы.
Движок ориентирован на строгое подмножество ES5 и отдает приоритет предсказуемому поведению, низкому потреблению памяти и простоте, а не широкому охвату языков. Ключевой целью проектирования является минимальное потребление памяти. Движок предназначен для работы в средах с небольшим объемом доступной оперативной памяти (всего несколько килобайт).
Согласно описанию проекта, он может компилировать и запускать программы на JavaScript, используя всего 10 КБ оперативной памяти , что значительно меньше, чем у обычных движков JavaScript, и делает его подходящим для устройств, где поддержка скриптов традиционно была непрактичной.
Для достижения этой цели намеренно опущены некоторые функции, обычно встречающиеся в более крупных средах выполнения, а в реализации избегается динамическое поведение, которое увеличило бы нагрузку на память.
Стандартная библиотека предназначена для компиляции в ПЗУ, что сокращает выделение памяти во время выполнения и обеспечивает более быструю загрузку. Этот метод соответствует типичным требованиям встроенных систем, где код хранится во флэш-памяти, а использование ОЗУ должно строго контролироваться.
Кроме того, API и модель выполнения также упрощены, чтобы обеспечить детерминированность и простоту встраивания в проекты встроенного ПО, написанные на языке C.
Редактор: AndreyEx
Важно: Данная статья носит информационный характер. Автор не несёт ответственности за возможные сбои или ошибки, возникшие при использовании описанного программного обеспечения.