Kinerja kompilasi JIT parantos ningkat sacara signifikan dina ngawangun Firefox wengi

В nightly ngawangun Firefox kaasup diropéa kompiler JIT, ngembang codenamed WarpBuilder. Pikeun ngaktipkeun JIT anyar, "javascript.options.warp" pilihan disadiakeun dina ngeunaan: config.
Catet yén WarpBuilder mangrupikeun léngkah munggaran pikeun ngalebetkeun optimasi énggal kana browser, anu direncanakeun bakal dilaksanakeun dina taun payun.

JIT anyar ningkatkeun kinerja mesin JavaScript SpiderMonkey ku cara ngirangan inpormasi jinis internal anu dilacak dina mesin sareng ku ngagunakeun téknik Intermediate Code Caching (CacheIR) sateuacana. diajukeun dina "baseline" juru bytecode, nu nempatan hiji Ecological panengah antara juru biasa na compiler pre-JIT. Parobihan ieu ngamungkinkeun sacara signifikan nyederhanakeun arsitéktur JIT, ningkatkeun responsif, ngirangan waktos muka halaman sareng ngirangan konsumsi mémori.

Kacatetyén JIT anyar ngarengsekeun seueur masalah tina JIT IonBuilder anu lami, sapertos:

  • Pajeulitna palaksanaan sareng masalah kaamanan poténsial;
  • overhead tambahan pikeun Baseline / C ++ kode;
  • Spésialisasi kaleuleuwihan ngarah kana recompilations teu perlu;
  • Ngahasilkeun kode panengah MIR (IR-tingkat tengah) dina thread utama (dina WarpBuilder, assembly utama kode panengah ditempatkeun dina thread misah);
  • Konsumsi memori tambahan pikeun nyimpen data ngeunaan jenis jeung grup objék (ObjectGroups).

Rata-rata, dina tés anu ngévaluasi kinerja dumasar kana métrik visual, laju 5-15% dititénan nalika nganggo WarpBuilder. Laju parantosan tés spedometer ningkat ku 10%. Uji coba dina situs nyata nunjukkeun pangurangan waktos ngamuat Google Docs ku 20%, indéks SpeedIndex nalika muka bagian Android on Reddit ningkat ku 13%, pdfpaint mimiti dianggo langkung gancang dina 18%. Konsumsi memori dina tés tp6 turun ku 8%. indikator statistik dina alat pamekar (devtools perf) ogé némbongkeun hiji 8% réduksi dina konsumsi memori.

sumber: opennet.ru

Tambahkeun komentar