Në Firefox kompilator JIT i përditësuar, në kodin e emërtimit WarpBuilder. Për aktivizimin e JIT të ri në about:config është propozuar opsioni «javascript.options.warp».
Vërehet se WarpBuilder është vetëm hapi i parë në rrugën drejt përfshirjes së optimizimeve të reja në shfletuesin që planifikohen të realizohen gjatë vitit të ardhshëm.
JIT i ri lejon përmirësimin e performancës së motorit JavaScript SpiderMonkey përmes reduktimit të informacionit të brendshëm mbi llojet, që ndiqet brenda motorit, dhe aplikimit të teknikës së caching të kodit të ndërmjetëm (CacheIR), e cila është në interpretuesin e kodit të bytes «baseline», që zë një vend të ndërmjetëm midis interpretuesit të zakonshëm dhe kompilatorit të avancuar JIT. Të dhënat e përcaktuara kanë lejuar të thjeshtojnë dukshëm arkitekturën JIT, të rrisin ndjeshmërinë, të reduktojnë kohën e ngarkesës së faqes dhe të zvogëlojnë konsumimin e memories.
, që JIT i ri ka lejuar zgjidhjen e shumë problemeve të JIT të vjetër IonBuilder, të tilla si:
- Ndërlikimi i zbatimit dhe problemet potenciale me sigurinë;
- Shpenzime të mëtejshme për kodin Baseline/C++;
- Specializimi i tepërt, që çon në rikompilime të panevojshme;
- Krijimi i kodit të ndërmjetëm (Middle-level IR) në rrjedhën kryesore (në WarpBuilder, grumbullimi kryesor i kodit të ndërmjetëm është bërë në një rrjedhë të veçantë);
- Konsumim të mëtejshëm të memories për ruajtjen e të dhënave mbi llojet dhe grupet e objekteve (ObjectGroups).
Dhe mesatarisht në testet që vlerësojnë performancën bazuar në metrikat vizuale, duke përdorur WarpBuilder, vërehet një përmirësim prej 5-15%. Shpejtësia e kalimit të testit Speedometer u rrit me 10%. Testimi në faqe reale tregoi një reduktim të kohës së ngarkesës së Google Docs në , treguesi në hapjen e seksionit Android në Reddit u përmirësua me , pdfpaint filloi të punojë më shpejt në . Konsumi i memories në testin pati një reduktim me 8%. statistikore në veglat për zhvilluesit (devtools perf) gjithashtu treguan një reduktim të konsumit të memories me 8%.
Burimi: opennet.ru
