У нічних зборках Firefox помітно збільшено продуктивність JIT-компіляції.
В нічні зборки Firefox включений оновлений JIT-компілятор, розвивається під кодовим ім'ям WarpBuilder. Для активації нового JIT в about:config запропоновано опцію javascript.options.warp.
Зазначається, що WarpBuilder є лише першим кроком на шляху до включення до браузера нових оптимізації, які планується реалізувати протягом наступного року.
Новий JIT дозволяє підняти продуктивність JavaScript-движка SpiderMonkey за рахунок скорочення внутрішньої інформації про типи, що відстежується всередині двигуна, та застосування техніки кешування проміжного коду (CacheIR), раніше запропонованою у «baseline» інтерпретаторі байткоду, який займає проміжну нішу між звичайним інтерпретатором та попереднім JIT-компілятором. Зазначені зміни дозволили помітно спростити архітектуру JIT, підвищити чуйність, скоротити час завантаження сторінки та знизити споживання пам'яті.
відзначається, Що новий 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%. Показники Статистики в інструментах для розробників (devtools perf) також продемонстрували зниження споживання пам'яті на 8%.