Achọpụtara arụmọrụ mkpokọta JIT ka mma n'ime ihe arụrụ arụ nke Firefox

В abalị na-ewuli elu Firefox gụnyere ihe nchịkọta JIT emelitere, mepụtara Aha ya bụ WarpBuilder. Iji mee ka JIT ọhụrụ ahụ, a na-enye nhọrọ "javascript.options.warp" na ihe dịka: config.
Achọpụtara na WarpBuilder bụ naanị nzọụkwụ mbụ iji tinye nkwalite ọhụrụ n'ime ihe nchọgharị ahụ, nke a na-eme atụmatụ imejuputa ya n'afọ na-abịa.

JIT ọhụrụ a na-eme ka arụmọrụ SpiderMonkey JavaScript dị mma site na ibelata ozi ụdị n'ime nke a na-enyocha n'ime injin ahụ yana site na iji Usoro Caching Intermediate (CacheIR) na mbụ. tụrụ aro na "baseline" bytecode onye ntụgharị okwu, nke na-enwe niche etiti n'etiti onye ntụgharị okwu oge niile na onye na-achịkọta tupu JIT. Mgbanwe ndị a mere ka o kwe omume ime ka ihe owuwu JIT dị mfe, mee ka anabataghachi ya, belata oge ntinye akwụkwọ ma belata oriri ebe nchekwa.

Achọpụtara yana JIT ọhụrụ ahụ doziri ọtụtụ nsogbu nke ochie JIT IonBuilder, dị ka:

  • Mgbagwoju anya nke mmejuputa na nsogbu nchekwa nwere ike;
  • Ego ndị ọzọ maka koodu Baseline/C++;
  • Ọpụrụiche karịrị akarị na-eduga na nchịkọta na-enweghị isi;
  • Na-emepụta koodu etiti M (Middle-level IR) na isi eri (na WarpBuilder, a na-etinye nnukwu mgbakọ nke koodu etiti na eriri dị iche);
  • Oriri ebe nchekwa agbakwunyere maka ịchekwa data gbasara ụdị na otu ihe (ObjectGroups).

Na nkezi, na ule ndị na-enyocha arụmọrụ dabere na metrics visual, a na-ahụ ngwa ngwa 5-15% mgbe ị na-eji WarpBuilder. Ọnụego mmecha ule ọsọ ọsọ gbagoro site na 10%. Nnwale na ezigbo saịtị gosipụtara mbelata na oge ntinye Google Docs site na 20%, index Ndekọ ọsọ ọsọ mgbe imepe ngalaba gam akporo na Reddit kwalitere site na 13%, pdfpaint malitere ịrụ ọrụ ngwa ngwa 18%. Oriri ebe nchekwa na ule tp6 ji 8% belatara. Ndị na-egosi ọnụ ọgụgụ na ngwaọrụ nrụpụta (devtools perf) gosikwara mbelata 8% na oriri ebe nchekwa.

isi: opennet.ru

Tinye a comment