Mozilla всегда стремится улучшить производительность JavaScript в браузере Firefox, вы могли слышать в прошлом Tracemonkey, JagerMonkey JavaScript-движки для Firefox, сегодня Mozilla установила JIT-компилятор IonMonkey JavaScript для своего движка SpiderMonkey в Firefox 18 каждую ночь, который и в Karan, и в Google V8. сравнительные тесты показали хорошие результаты в Firefox 17 и Firefox 15.
Дэвид Андерсон в блоге Mozilla JavaScirpt говорит, что «старая TraceMonkey * и более новая JägerMonkey имели довольно прямой перевод из JavaScript в машинный код. Среднего шага не было. У компиляторов не было возможности сделать шаг назад, посмотреть на результаты перевода и оптимизировать их дальше ».
IonMonkey теперь позволяет
- Перевести JavaScript в промежуточное представление (IR),
- запускать различные алгоритмы для оптимизации IR,
- Преобразуйте окончательный IR в машинный код.
IonMonkey не только улучшает производительность JavaScirpt, но и помогает в будущих исследованиях компиляторов JavaScript для Mozilla.
Производительность IonMonkey в сравнительных тестах
В тесте Karen «Firefox 17 работает за 2602 миллисекунды, тогда как Firefox 18 — за 1921 миллисекунду, что дает прирост производительности примерно на 26%».
В тесте Google v8
- Firefox 15 получил 8474 балла
- Firefox 17 набрал 9511 баллов
- Firefox 18 получил 10188 баллов.
Исходя из этих результатов, мы можем сказать, что Firefox 18 работает на 7% быстрее, чем Firefox 17, и на 20% быстрее, чем Firefox 15. Эти тесты были выполнены на Mac Pro под управлением Windows 7 Professional.
Вы заметили разницу в производительности Firefox 18 каждую ночь с добавлением IonMonkey? Дайте нам знать в комментариях.