مولد الصور الأصلي
مولد الصور الأصلي (NGen )، أو اختصارًا NGen ، هو خدمة الترجمة المسبقة (AOT) لإطار عمل .NET . [ 1 ] يسمح هذا المولد بتجميع مكتبة سطر الأوامر مسبقًا بدلًا من الاعتماد على وقت تشغيل اللغة المشتركة (CLR) لإجراء الترجمة الفورية (JIT) أثناء التشغيل. في بعض الحالات، يكون التنفيذ أسرع بكثير من الترجمة الفورية.
معلومات عامة
يُنتج مُولِّد الصور الأصلية صورةً ثنائيةً أصليةً للبيئة الحالية (أي أنظمة التشغيل). يُلغي هذا عبء الترجمة الفورية (JIT) على حساب قابلية النقل ومساحة القرص؛ فعندما يتم تشغيل صورة مُولَّدة بواسطة NGen في بيئة غير متوافقة، يعود إطار عمل .NET تلقائيًا إلى استخدام JIT. بمجرد تشغيل NGen على تجميعة، تُوضع الصورة الأصلية الناتجة في ذاكرة التخزين المؤقت للصور الأصلية (NIC) لاستخدامها من قِبل جميع تجميعات واجهة سطر الأوامر الأخرى. يُتيح هذا، على سبيل المثال، استخدام NGen لمعالجة تجميعات واجهة سطر الأوامر أثناء التثبيت، مما يوفر وقت المعالج لاحقًا، عندما يستدعي المستخدم النهائي التطبيق على نظامه.
يهدف NGen إلى تسريع تنفيذ التعليمات البرمجية عن طريق إزالة عملية الترجمة الفورية (JIT) أثناء التشغيل، ولكن هذا لا يُحسّن الأداء دائمًا، لأن بعض التحسينات لا يُمكن إجراؤها إلا بواسطة مُترجم JIT (على سبيل المثال، إذا كان مُترجم JIT يعلم أن الكود يعمل بالفعل بثقة تامة، فيمكنه تخطي بعض فحوصات الأمان المُكلفة). لهذا السبب، يُنصح باستخدام NGen فقط بعد قياس أداء التطبيق قبل وبعد استخدامه.
انظر أيضاً
مراجع
- ↑ فيرمير، نيكو (2022). "بيئات التشغيل وحزم سطح المكتب". تقديم .NET 6. بيركلي، كاليفورنيا: Apress. doi : 10.1007/978-1-4842-7319-7_2 .
روابط خارجية
- البنية التحتية للغة المشتركة (المعيار ECMA-335)
- "معايير ECMA للغة C# ومعايير البنية التحتية للغة المشتركة" على MSDN
- السرعة: الجيل الجديد يعزز أداءك بميزات جديدة قوية - مجلة MSDN، أبريل 2005
- .شبكة
