JIT-samestellingswerkverrigting is merkbaar verbeter in Firefox-nagtelike bouwerk

В nagtelike bouwerk Firefox ingesluit opgedateerde JIT samesteller, ontwikkel kodenaam WarpBuilder. Om die nuwe JIT te aktiveer, word die "javascript.options.warp" opsie verskaf in about:config.
Daar word kennis geneem dat WarpBuilder slegs die eerste stap is om nuwe optimaliserings in die blaaier in te sluit, wat beplan word om oor die volgende jaar geïmplementeer te word.

Die nuwe JIT verbeter die werkverrigting van die SpiderMonkey JavaScript-enjin deur die interne tipe inligting wat binne die enjin nagespoor word te verminder en deur die Intermediate Code Caching (CacheIR) tegniek voorheen te gebruik voorgestelde in die "basislyn" greepkode-tolk, wat 'n tussenliggende nis tussen 'n gewone tolk en 'n pre-JIT samesteller beslaan. Hierdie veranderinge het dit moontlik gemaak om die JIT-argitektuur aansienlik te vereenvoudig, reaksievermoë te verhoog, bladsylaaityd te verminder en geheueverbruik te verminder.

Dit word opgemerkdat die nuwe JIT baie probleme van die ou JIT IonBuilder opgelos het, soos:

  • Kompleksiteit van implementering en potensiële sekuriteitsprobleme;
  • Bykomende bokoste vir Basislyn/C++-kode;
  • Oormatige spesialisasie wat lei tot onnodige hersamestellings;
  • Genereer intermediêre kode MIR (Middelvlak IR) in die hoofdraad (in WarpBuilder word die hoofsamestelling van die intermediêre kode in 'n aparte draad geplaas);
  • Bykomende geheueverbruik vir die stoor van data oor tipes en groepe voorwerpe (ObjectGroups).

Gemiddeld, in toetse wat prestasie evalueer op grond van visuele statistieke, word 'n spoed van 5-15% waargeneem wanneer WarpBuilder gebruik word. Snelheidsmetertoetsvoltooiingskoers het met 10% toegeneem. Toetsing op regte werwe het 'n vermindering in Google Dokumente se laaityd met 20%, aanwyser Spoedindeks by die opening van die Android-afdeling op Reddit verbeter deur 13%, pdfpaint het vinniger begin werk 18%. Geheueverbruik in die toets tp6 met 8% afgeneem. Data statistieke in ontwikkelaarnutsgoed (devtools perf) het ook 'n 8% vermindering in geheueverbruik getoon.

Bron: opennet.ru

Voeg 'n opmerking