У начных зборках 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%.

Крыніца: opennet.ru

Дадаць каментар