تم تحسين أداء تجميع JIT بشكل ملحوظ في إصدارات Firefox الليلية

В يبني ليلا برنامج فايرفوكس متضمن برنامج التحويل البرمجي JIT المحدث، متطور الاسم الرمزي WarpBuilder. لتمكين JIT الجديد، يتوفر خيار "javascript.options.warp" في about:config.
تجدر الإشارة إلى أن WarpBuilder ليس سوى الخطوة الأولى نحو دمج التحسينات الجديدة في المتصفح، والتي من المقرر تنفيذها خلال العام المقبل.

يعمل JIT الجديد على تحسين أداء محرك SpiderMonkey JavaScript عن طريق تقليل معلومات النوع الداخلي التي يتم تتبعها داخل المحرك وباستخدام تقنية التخزين المؤقت للتعليمات البرمجية الوسيطة (CacheIR) مسبقًا مقترح في مترجم الكود الثانوي "الأساسي"، والذي يحتل مكانة متوسطة بين المترجم العادي ومترجم ما قبل JIT. أتاحت هذه التغييرات تبسيط بنية JIT بشكل كبير وزيادة الاستجابة وتقليل وقت تحميل الصفحة وتقليل استهلاك الذاكرة.

هذا مدونأن JIT الجديد قام بحل العديد من مشاكل JIT IonBuilder القديم مثل:

  • تعقيد التنفيذ والمشاكل الأمنية المحتملة؛
  • الحمل الإضافي لكود Baseline/C++؛
  • التخصص المفرط يؤدي إلى عمليات إعادة تجميع غير ضرورية؛
  • توليد كود وسيط MIR (IR ذو المستوى المتوسط) في الخيط الرئيسي (في WarpBuilder، يتم وضع التجميع الرئيسي للكود الوسيط في خيط منفصل)؛
  • استهلاك إضافي للذاكرة لتخزين البيانات حول أنواع ومجموعات الكائنات (ObjectGroups).

في المتوسط، في الاختبارات التي تقيم الأداء بناءً على المقاييس المرئية، لوحظ زيادة بنسبة 5-15% عند استخدام WarpBuilder. زيادة معدل إتمام اختبار عداد السرعة بنسبة 10%. أظهر الاختبار على المواقع الحقيقية انخفاضًا في وقت تحميل مستندات Google بنسبة XNUMX% 20%، فِهرِس مؤشر السرعة عند فتح قسم Android على Reddit تم تحسينه بواسطة 13%، بدأ pdfpaint في العمل بشكل أسرع 18%. استهلاك الذاكرة في الاختبار tp6 انخفض بنسبة 8٪. معطيات أظهرت الإحصائيات في أدوات المطورين (devtools perf) أيضًا انخفاضًا بنسبة 8٪ في استهلاك الذاكرة.

المصدر: opennet.ru

إضافة تعليق