Kuita kweJIT yekubatanidza kwakagadziridzwa zvinooneka muFirefox manheru anovaka

Π’ manheru anovaka Firefox inosanganisirwa yakagadziridzwa JIT compiler, developed codenamed WarpBuilder. Kugonesa iyo JIT itsva, "javascript.options.warp" sarudzo inopihwa nezve:config.
Izvo zvinocherechedzwa kuti WarpBuilder ingori nhanho yekutanga yekubatanidza nyowani optimizations mubrowser, iyo yakarongwa kuti iitwe gore rinouya.

Iyo JIT nyowani inonatsiridza mashandiro eSpiderMonkey JavaScript injini nekudzikisira ruzivo rwemukati rwakatevedzwa mukati meinjini uye nekushandisa iyo Intermediate Code Caching (CacheIR) maitiro kare. proposed mu "baseline" bytecode muturikiri, iyo inotora niche yepakati pakati pemuturikiri wenguva dzose uye pre-JIT compiler. Idzi shanduko dzakaita kuti zvive nyore kurerutsa iyo JIT yekuvaka, kuwedzera kuterera, kuderedza peji kurodha nguva uye kuderedza ndangariro kushandiswa.

Izvo zvinoonekwakuti iyo JIT nyowani yakagadzirisa matambudziko mazhinji ekare JIT IonBuilder, akadai se:

  • Kuoma kwekuita uye matambudziko anogona kuchengetedzwa;
  • Kuwedzera pamusoro peBaseline/C++ kodhi;
  • Kunyanya nyanzvi inotungamira kune zvisingakoshi kudzoreredza;
  • Kugadzira kodhi yepakati INI (yepakati-level IR) mushinda huru (muWarpBuilder, iyo huru gungano repakati kodhi inoiswa mune yakaparadzana shinda);
  • Kuwedzera ndangariro kushandiswa kuchengetedza data nezve mhando uye mapoka ezvinhu (ObjectGroups).

Paavhareji, mumiyedzo inoongorora mashandiro anoenderana nekuona metrics, 5-15% yekumhanyisa inocherechedzwa kana uchishandisa WarpBuilder. Speedometer bvunzo yekupedzisa mwero wakawedzera ne10%. Kuedza pamasaiti chaiwo kwakaratidza kudzikiswa kweGoogle Docs kurodha nguva 20%, index SpeedIndex pakuvhura iyo Android chikamu paReddit yakagadziridzwa na 13%, pdfpaint yakatanga kushanda nekukurumidza 18%. Memory kushandiswa mukuedzwa tp6 yakaderera ne8%. Zviratidzo nhamba mumaturusi ekuvandudza (devtools perf) yakaratidzawo kudzikiswa kwe8% mukushandiswa kwendangariro.

Source: opennet.ru

Voeg