Firefox-ийн шөнийн хувилбаруудад JIT эмхэтгэлийн гүйцэтгэл мэдэгдэхүйц сайжирсан

В шөнийн бүтээн байгуулалтууд Firefox орсон шинэчилсэн JIT хөрвүүлэгч, боловсруулсан WarpBuilder код нэртэй. Шинэ JIT-г идэвхжүүлэхийн тулд "javascript.options.warp" сонголтыг about:config дотор өгсөн.
WarpBuilder нь ирэх жил хэрэгжүүлэхээр төлөвлөж буй хөтөч дээр шинэ оновчлолыг оруулах эхний алхам гэдгийг тэмдэглэжээ.

Шинэ JIT нь SpiderMonkey JavaScript хөдөлгүүрийн ажиллагааг сайжруулж, хөдөлгүүр дотор хянагддаг дотоод төрлийн мэдээллийг багасгаж, өмнө нь завсрын кодын кэш (CacheIR) техникийг ашиглан сайжруулдаг. санал болгосон энгийн орчуулагч болон JIT-ээс өмнөх хөрвүүлэгчийн хооронд завсрын зай эзэлдэг "суурь" байт кодын орчуулагчд. Эдгээр өөрчлөлтүүд нь JIT архитектурыг ихээхэн хялбарчилж, хариу өгөх чадварыг нэмэгдүүлж, хуудас ачаалах хугацааг багасгаж, санах ойн зарцуулалтыг багасгах боломжтой болсон.

Үүнийг тэмдэглэж байнаШинэ JIT нь хуучин JIT IonBuilder-ийн олон асуудлыг шийдсэн, тухайлбал:

  • Хэрэгжилтийн нарийн төвөгтэй байдал, аюулгүй байдлын болзошгүй асуудлууд;
  • Baseline/C++ кодын нэмэлт зардал;
  • Шаардлагагүй дахин эмхэтгэлд хүргэдэг хэт их мэргэшил;
  • Завсрын код үүсгэж байна МИР (Дунд түвшний IR) үндсэн урсгалд (WarpBuilder-д завсрын кодын үндсэн угсралт нь тусдаа урсгалд байрладаг);
  • Объектуудын төрөл ба бүлгүүдийн талаарх мэдээллийг хадгалахад зориулсан нэмэлт санах ойн хэрэглээ (ObjectGroups).

Харааны хэмжүүр дээр үндэслэн гүйцэтгэлийг үнэлдэг тестүүдэд WarpBuilder-ийг ашиглах үед дунджаар 5-15% хурдасдаг. Хурд хэмжигч туршилтын гүйцэтгэл 10%-иар нэмэгдсэн. Бодит сайтууд дээр туршилт хийснээр Google Docs ачаалах хугацаа багассан байна 20%, индекс Хурдны индекс Reddit дээр Android хэсгийг нээх үед сайжруулсан 13%, pdfpaint дээр илүү хурдан ажиллаж эхэлсэн 18%. Туршилтын санах ойн хэрэглээ tp6 8 хувиар буурсан байна. Шалгуур үзүүлэлтүүд Хөгжүүлэгчийн хэрэгслүүдийн статистик (devtools perf) мөн санах ойн хэрэглээг 8% бууруулсан байна.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх