ProHoster > Blog > internet haberleri > JIT derleme performansı, Firefox'un gecelik sürümlerinde gözle görülür şekilde iyileştirildi
JIT derleme performansı, Firefox'un gecelik sürümlerinde gözle görülür şekilde iyileştirildi
В gece kondular Firefox açık обновлённый JIT-компилятор, gelişmiş под кодовым именем WarpBuilder. Для активации нового JIT в about:config предложена опция «javascript.options.warp».
Отмечается, что WarpBuilder является лишь первым шагом на пути к включению в браузер новых оптимизаций, которые планируется реализовать в течение следующего года.
Новый JIT позволяет поднять производительность JavaScript-движка SpiderMonkey за счёт сокращения внутренней информации о типах, отслеживаемой внутри движка, и применению техники кэширования промежуточного кода (CacheIR), ранее предложенной в «baseline» интерпретаторе байткода, который занимает промежуточную нишу между обычным интерпретатором и предварительным JIT-компилятором. Указанные изменения позволили заметно упростить архитектуру JIT, повысить отзывчивость, сократить время загрузки страницы и снизить потребление памяти.
not edildi, что новый JIT позволил решить многие проблемы старого JIT IonBuilder, такие как:
Усложнённость реализации и потенциальные проблемы с безопасностью;
Дополнительные накладные расходы для кода Baseline/C++;
Излишня специализация, приводящая к ненужным перекомпиляциям;
Формирование промежуточного кода MIR (Middle-level IR) в основном потоке (в WarpBuilder основная сборка промежуточного кода вынесена в отдельный поток);
Дополнительное расходование памяти на хранение данных о типах и группах объектов (ObjectGroups).
В среднем в тестах, оценивающих производительность на основе визуальных метрик, при использовании WarpBuilder наблюдается ускорение на 5-15%. Скорость прохождения теста Speedometer увеличилась на 10%. Тестирование на реальных сайтах показало сокращение времени загрузки Google Docs на %20, показатель SpeedIndex при открытии раздела Android в Reddit улучшился на %13, pdfpaint стал работать быстрее на %18. Потребление памяти в тесте tp6 снизилось на 8%. Veri статистики в инструментах для разработчиков (devtools perf) также продемонстрировали снижение потребления памяти на 8%.