ื‘ื™ืฆื•ืขื™ ื”ื™ื“ื•ืจ ืฉืœ JIT ืฉื•ืคืจื• ื‘ืื•ืคืŸ ื ื™ื›ืจ ื‘ื‘ื ื™ื™ื” ืœื™ืœื™ืช ืฉืœ Firefox

ะ’ ื‘ื ื™ื•ืช ืœื™ืœื™ื•ืช Firefox ื›ืœื•ืœ ืžื”ื“ืจ JIT ืžืขื•ื“ื›ืŸ, ืžืคื•ืชื— ืขื ืฉื ื”ืงื•ื“ WarpBuilder. ื›ื“ื™ ืœื”ืคืขื™ืœ ืืช ื”-JIT ื”ื—ื“ืฉ, ื”ืืคืฉืจื•ืช "javascript.options.warp" ืžืกื•ืคืงืช ื‘- about:config.
ื™ืฆื•ื™ืŸ ื›ื™ WarpBuilder ื”ื•ื ืจืง ื”ืฆืขื“ ื”ืจืืฉื•ืŸ ืœืงืจืืช ืฉื™ืœื•ื‘ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ื—ื“ืฉื•ืช ื‘ื“ืคื“ืคืŸ, ืืฉืจ ืžืชื•ื›ื ื ื•ืช ืœื”ื™ื•ืช ืžื™ื•ืฉืžื•ืช ื‘ืžื”ืœืš ื”ืฉื ื” ื”ื‘ืื”.

ื”-JIT ื”ื—ื“ืฉ ืžืฉืคืจ ืืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืžื ื•ืข ื”-JavaScript ืฉืœ SpiderMonkey ืขืœ ื™ื“ื™ ื”ืคื—ืชืช ืžื™ื“ืข ื”ืกื•ื’ ื”ืคื ื™ืžื™ ืฉืžืขืงื‘ ืื—ืจ ื”ืžื ื•ืข ื•ืขืœ ื™ื“ื™ ืฉื™ืžื•ืฉ ื‘ื˜ื›ื ื™ืงืช Intermediate Code Caching (CacheIR) ื‘ืขื‘ืจ. ืžื•ึผืฆึธืข ื‘-baseline ืžืชื•ืจื’ืžืŸ bytecode, ืืฉืจ ืชื•ืคืก ื ื™ืฉืช ื‘ื™ื ื™ื™ื ื‘ื™ืŸ ืžืชื•ืจื’ืžืŸ ืจื’ื™ืœ ืœืžื”ื“ืจ ื˜ืจื•ื-JIT. ืฉื™ื ื•ื™ื™ื ืืœื• ืืคืฉืจื• ืœืคืฉื˜ ืžืฉืžืขื•ืชื™ืช ืืช ืืจื›ื™ื˜ืงื˜ื•ืจืช ื”-JIT, ืœื”ื’ื‘ื™ืจ ืืช ื”ื”ื™ืขื ื•ืช, ืœื”ืคื—ื™ืช ืืช ื–ืžืŸ ื˜ืขื™ื ืช ื”ื“ืคื™ื ื•ืœื”ืคื—ื™ืช ืืช ืฆืจื™ื›ืช ื”ื–ื™ื›ืจื•ืŸ.

ื–ื” ืžืฆื•ื™ืŸืฉื”-JIT ื”ื—ื“ืฉ ืคืชืจ ื‘ืขื™ื•ืช ืจื‘ื•ืช ืฉืœ JIT IonBuilder ื”ื™ืฉืŸ, ื›ื’ื•ืŸ:

  • ืžื•ืจื›ื‘ื•ืช ื”ื™ื™ืฉื•ื ื•ื‘ืขื™ื•ืช ืื‘ื˜ื—ื” ืคื•ื˜ื ืฆื™ืืœื™ื•ืช;
  • ืชืงื•ืจื” ื ื•ืกืคืช ืขื‘ื•ืจ ืงื•ื“ Baseline/C++;
  • ื”ืชืžื—ื•ืช ืžื•ื’ื–ืžืช ื”ืžื•ื‘ื™ืœื” ืœื”ื™ื“ื•ืจื™ื ืžื™ื•ืชืจื™ื;
  • ื”ืคืงืช ืงื•ื“ ื‘ื™ื ื™ื™ื ืžื™ืจ (IR ื‘ืจืžื” ื‘ื™ื ื•ื ื™ืช) ื‘ืฉืจืฉื•ืจ ื”ืจืืฉื™ (ื‘-WarpBuilder, ื”ืžื›ืœื•ืœ ื”ืจืืฉื™ ืฉืœ ืงื•ื“ ื”ื‘ื™ื ื™ื™ื ืžืžื•ืงื ื‘ืฉืจืฉื•ืจ ื ืคืจื“);
  • ืฆืจื™ื›ืช ื–ื™ื›ืจื•ืŸ ื ื•ืกืคืช ืœืื—ืกื•ืŸ ื ืชื•ื ื™ื ืขืœ ืกื•ื’ื™ ื•ืงื‘ื•ืฆื•ืช ืื•ื‘ื™ื™ืงื˜ื™ื (ObjectGroups).

ื‘ืžืžื•ืฆืข, ื‘ื‘ื“ื™ืงื•ืช ืฉืžืขืจื™ื›ื•ืช ื‘ื™ืฆื•ืขื™ื ืขืœ ืกืžืš ืžื“ื“ื™ื ื•ื™ื–ื•ืืœื™ื™ื, ื ืฆืคื™ืช ืžื”ื™ืจื•ืช ืฉืœ 5-15% ื‘ืขืช ืฉื™ืžื•ืฉ ื‘-WarpBuilder. ืฉื™ืขื•ืจ ื”ืฉืœืžืช ื‘ื“ื™ืงืช ืžื“ ืžื”ื™ืจื•ืช ืขืœื” ื‘-10%. ื‘ื“ื™ืงื•ืช ื‘ืืชืจื™ื ืืžื™ืชื™ื™ื ื”ืจืื• ื”ืคื—ืชื” ื‘ื–ืžืŸ ื”ื˜ืขื™ื ื” ืฉืœ Google Docs ื‘- 20%, ืื™ื ื“ืงืก SpeedIndex ื‘ืขืช ืคืชื™ื—ืช ืžื“ื•ืจ ืื ื“ืจื•ืื™ื“ ื‘- Reddit ื”ืฉืชืคืจ ืขืœ ื™ื“ื™ 13%, pdfpaint ื”ืชื—ื™ืœ ืœืขื‘ื•ื“ ืžื”ืจ ื™ื•ืชืจ 18%. ืฆืจื™ื›ืช ื–ื™ื›ืจื•ืŸ ื‘ืžื‘ื—ืŸ tp6 ื™ืจื“ ื‘-8%. ืžื“ื“ื™ื ืกื˜ื˜ื™ืกื˜ื™ืงื•ืช ื‘ื›ืœื™ ืžืคืชื—ื™ื (devtools perf) ื”ืจืื• ื’ื ื™ืจื™ื“ื” ืฉืœ 8% ื‘ืฆืจื™ื›ืช ื”ื–ื™ื›ืจื•ืŸ.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”