У Firefox появится новый JavaScript-движок — JagerMonkey
4Иллюстрация с сайта Infobarrel.Com
Mozilla объявила о разработке нового JavaScript-движка для ее веб-браузера с открытым кодом Firefox — JägerMonkey.
Всего полтора года назад сообщалось о том, что в состав Firefox версии 3.1 был включен JavaScript-движок TraceMonkey, который обеспечил заметный рост производительности JavaScript в этом открытом браузере. Однако все это время конкурирующие веб-браузеры (Chrome, Opera, Safari) не стояли на месте, и производительность их JavaScript-движков не только смогла догнать TraceMonkey, но и обойти его. Теперь разработчики Mozilla намерены вновь представить свой ответ — для этого и создается новый JS-движок, получивший название JägerMonkey.
Что интересно, в JägerMonkey будет использоваться код из проекта WebKit — свободного движка рендеринга веб-страниц, появившегося в свое время как форк KHTML, создаваемого при поддержке компании Apple и распространяемого под лицензией GNU LGPL. Mozilla собирается оптимизировать TraceMonkey с помощью генератора родного кода (native code generator) из JavaScriptCore, входящего в состав WebKit. JavaScriptCore — фреймворк, лежащий в основе JavaScript-движка, используемого в WebKit.
Сейчас в качестве генератора кода в TraceMonkey используется nanojit, изначально разработанный Adobe для выполнения ActionScript в Flash и опубликованный под Open Source-лицензией в 2006 году. В JägerMonkey по-прежнему будет использоваться nanojit для решения некоторых задач, а для генерации быстро работающего родного кода разработчики интегрируют Apple Nitro Assembler, что позволит движку воспользоваться преимуществами JIT-компиляции. По мнению Mozilla, такое сочетание технологий должно привести к оптимальному результату — в JägerMonkey будет сочетаться лучшее из того, что есть на сегодняшний день.
Информации о том, когда JägerMonkey появится в составе стабильных сборок Firefox, пока нет. Некоторые подробности о JägerMonkey доступны на wiki.mozilla.org.
Постоянная ссылка к новости: http://www.nixp.ru/news/10192.html. Дмитрий Шурупов по материалам arstechnica.com.
- Mozilla оптимизировала JavaScript в Firefox 3.1 с помощью TraceMonkey 26 августа 2008 г.
- Вышла первая бета-версия веб-браузера Firefox 4 3 13 7 июля 2010 г.
- Веб-браузер Firefox 4 выйдет в феврале 5 23 13 января 2011 г.
- Firefox 4 — новая крупная версия популярного веб-браузера 5 15 22 марта 2011 г.
Веб-браузер Firefox 57.0 «Quantum» получил полностью новый (и очень быстрый!) движок 4 9
Mozilla начала тестировать онлайн-сервис для безопасной отправки файлов через Firefox Send
Свободный мобильный веб-браузер Firefox Focus стал доступен для Android
Вышел браузер Firefox 54 с многопроцессным режимом обработки веб-содержимого 1 4
Firefox 46 — новая версия веб-браузера получила интеграцию с GTK+ 3 3 2
Веб-браузер Firefox 40 получил улучшенную производительность, поддержку Windows 10 и новые возможности 4
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Главное чтоб ничего не поломали только… а так, отличная новость
Теперь решили устроить гонку на этом… Какой бы быстрый не был браузер — бездарно написанный код будет работать в нем так же медленно как и в IE6 :)
Mozilla в своём репертуаре: надёргать кода из других проектов, обмотать скотчем — вот вам и новый движок. Взяли бы целиком V8 тот же и не дурили себе и людям головы.
V8 падуч. Не имеет ексепшнов на размер выделяемой памяти, что, если у вас каждая вкладка — отдельный процесс — не проблема: ну сдохла вкладка CTRL+T и по-новой. В ФФ всё обрабатывается как один процесс. Дальше не объясняю.
Сысоев класно описал V8 (тот, что nginx лепит)
Ну хорошо, не V8, так другое что. Но (неужели это так сложно понять?) куча надёрганного из разных мест кода prone to explosions — это факт. Сели бы, подумали как следует, и напиали раз и навсегда вменяемый и цельный JS engine.