كجزء من مشروع بحثي
للاختبار
في المرحلة التالية ، من المخطط أيضًا نقل تحسينات RTL بين التخصصات إلى سلاسل منفصلة ، مع مراعاة خصائص النظام الأساسي للأجهزة. بعد ذلك ، من المخطط تنفيذ موازاة التحسينات داخل الإجراءات (IPA) المطبقة على الكود داخل الوظيفة ، بغض النظر عن ميزات المكالمة. الرابط المقيد حتى الآن هو جامع البيانات المهملة ، الذي يحتوي على قفل عالمي يعطل عمليات جمع البيانات المهملة أثناء التشغيل في الوضع متعدد مؤشرات الترابط (في المستقبل ، سيتم تكييف جامع البيانات المهملة مع تعدد مؤشرات الترابط في دول مجلس التعاون الخليجي).
لتقييم التغيير في الأداء ، تم إعداد مجموعة اختبار تقوم ببناء ملف gimple-match.c ، والذي يتضمن أكثر من 100 ألف سطر من التعليمات البرمجية و 1700 وظيفة. أظهرت الاختبارات التي أجريت على نظام مع وحدة المعالجة المركزية Intel Core i5-8250U مع 4 أنوية مادية و 8 نوى افتراضية (Hyperthreading) انخفاضًا في وقت تنفيذ تحسينات GIMPLE داخل الإجراءات من 7 إلى 4 ثوانٍ عند بدء خيوط 2 وما يصل إلى 3 ثوانٍ عند بدء 4 خيوط ، أي تم تحقيق زيادة في سرعة مرحلة التجميع المدروسة بمقدار 1.72 و 2.52 مرة على التوالي. أظهرت الاختبارات أيضًا أن استخدام النوى الافتراضية مع Hyperthreading لا يؤدي إلى مكاسب في الأداء.
تم تقليل وقت الإنشاء الإجمالي بحوالي 10٪ ، ولكن من المتوقع أن يحقق موازاة تحسينات RTL نتائج ملموسة أكثر ، نظرًا لأن هذه المرحلة تستغرق وقتًا أطول في التجميع. بعد موازاة RTL تقريبًا ، سيتم تقليل وقت التجميع الإجمالي بمقدار 1.61 مرة. بعد ذلك ، سيكون من الممكن تقليل وقت الإنشاء بنسبة 5-10٪ أخرى بسبب موازاة تحسينات IPA.
المصدر: opennet.ru