التقييم الجزئي
في مجال الحوسبة ، يُعد التقييم الجزئي أسلوبًا لتحسين البرامج من خلال التخصيص . ويتمثل التطبيق الأبسط في إنتاج برامج جديدة تعمل بسرعة أكبر من البرامج الأصلية مع ضمان أدائها بنفس الطريقة.
برنامج حاسوبييُنظر إليه على أنه عملية تحويل بيانات الإدخال إلى بيانات الإخراج:
أينالبيانات الثابتة هي جزء من بيانات الإدخال المعروفة في وقت الترجمة.
تحويلات المُقيِّم الجزئيداخلعن طريق الحساب المسبق لجميع المدخلات الثابتة في وقت الترجمة.يُطلق عليه اسم "البرنامج المتبقي"، ومن المفترض أن يعمل بكفاءة أعلى من البرنامج الأصلي. ويُقال إن عملية التقييم الجزئي تُؤدي إلى "تبقية" البرنامج.ل.
إسقاطات فوتامورا
ومن الأمثلة المثيرة للاهتمام بشكل خاص على استخدام التقييم الجزئي، والذي وصفه يوشيهيكو فوتامورا لأول مرة في سبعينيات القرن العشرين، [ 1 ] هو عندماهو مترجم للغة برمجة .
لوإذا كان الكود المصدري مصممًا للتشغيل داخل هذا المفسر، فإن التقييم الجزئي للمفسر فيما يتعلق بهذه البيانات/البرنامج ينتج، وهو إصدار من المفسر يقوم بتشغيل هذا الكود المصدري فقط، مكتوب بلغة تنفيذ المفسر، ولا يتطلب إعادة توفير الكود المصدري، ويعمل بشكل أسرع من التركيبة الأصلية للمفسر والمصدر. في هذه الحالةهي في الواقع نسخة مُجمّعة من.
تُعرف هذه التقنية باسم إسقاط فوتامورا الأول، والذي يوجد منه ثلاثة:
- تخصيص مترجم لرمز مصدر معين، مما ينتج عنه ملف تنفيذي.
- تخصيص المُخصِّص للمُفسِّر (كما هو مُطبَّق في #1)، مما ينتج عنه مُجمِّع.
- تخصيص المُخصِّص لنفسه (كما هو مطبق في #2)، مما ينتج عنه أداة يمكنها تحويل أي مترجم إلى مُجمِّع مكافئ.
وقد وصفها فوتامورا باللغة اليابانية في عام 1971 [ 2 ] وباللغة الإنجليزية في عام 1983. [ 3 ]
يُعد كل من RPython الخاص بـ PyPy وإطار عمل Truffle الخاص بـ GraalVM أمثلة على مترجمات JIT في العالم الحقيقي التي تنفذ إسقاط Futamura الأول.
انظر أيضاً
مراجع
- ^ "البروفيسور يوشيهيكو فوتامورا" . fi.ftmr.info . تم الاسترجاع بتاريخ 28-01-2026 .
- ↑ "التقييم الجزئي لعملية الحساب --- نهج لمترجم-مترجم"، معاملات معهد مهندسي الإلكترونيات والاتصالات في اليابان ، 54-ج : 721-728 ، 1971
- ↑ فوتامورا، ي. (1983). "الحساب الجزئي للبرامج". ندوات RIMS حول علوم وهندسة البرمجيات . سلسلة محاضرات في علوم الحاسوب. المجلد 147. سبرينغر. الصفحات 1-35 . doi : 10.1007/3-540-11980-9_13 . hdl : 2433/103401 . ISBN 3-540-11980-9.
مراجع عامة
- فوتامورا، ي. (1999). "التقييم الجزئي لعملية الحساب - مدخل إلى مُترجم-مُترجم". الحوسبة الرمزية والحسابية من الرتبة العليا . 12 (4): 381-391 . CiteSeerX 10.1.1.10.2747 . doi : 10.1023/A:1010095604496 . S2CID 12673078 .
- كونسيل، تشارلز؛ دانفي، أوليفييه (1993). "ملاحظات تعليمية حول التقييم الجزئي". POPL '93: وقائع الندوة العشرين لجمعية ACM SIGPLAN-SIGACT حول مبادئ لغات البرمجة . جمعية آلات الحوسبة. الصفحات 493-501 . CiteSeerX 10.1.1.114.7330 . doi : 10.1145/158511.158707 . ISBN 0897915607. S2CID 698339 .
روابط خارجية
- جونز، نيل د.؛ جومارد، كارستن ك.؛ سيستوفت، بيتر (1993). التقييم الجزئي والتوليد التلقائي للبرامج . برنتيس هول. ISBN 9780130202499.
- دانفي، أو.، محرر. (1999). "التقييم الجزئي ومعالجة البرامج القائمة على الدلالات PEPM'99" (ملف PDF) . CiteSeerX 10.1.1.164.2284 .
- فيلدهويزن، تود ل. (1999). "قوالب لغة سي++ كتقييم جزئي". PEPM'99 . ص 15–. arXiv : cs/9810010 .
- تطبيق التقييم الجزئي الديناميكي على لغات البرمجة الديناميكية والانعكاسية
- تحسينات المُترجم
- استراتيجية التقييم
