تُعد مشكلة ترتيب المراحل (Phase Ordering Problem) واحدة من التحديات المستمرة منذ السبعينيات، حيث ظلت مفتوحة بسبب وجود مساحة هائلة من التحسينات وطبيعتها غير المحدودة. تتجنب الحلول التقليدية هذه المشكلة عبر تقليل عدد وطول عمليات التحسين، لكن مع ذلك تتطلب الجهود اليدوية ضبط الخوارزميات لكل مجموعة من الاختبارات.

في العقدين الماضيين، تم توظيف التعلم الآلي (Machine Learning) لبناء نماذج أداء تهدف إلى تحسين اختيار وترتيب تحسينات الكومبايلر، لكن هذه الطرق لم تُدمج بسلاسة في الكومبايلرات. تقدم ورقة بحثية جديدة الكومبايلر المتحور (Protean Compiler)، وهو إطار عمل مرن يمكّن LLVM من دمج قدرات ترتيب المراحل بدقة.

يشمل الكومبايلر المتحور مكتبة شاملة تحتوي على أكثر من 140 طريقة لجمع الميزات الثابتة بتدرجات مختلفة، حيث أظهرت التجارب زيادة في السرعة تصل إلى 4.1% في المتوسط و15.7% في تطبيقات مختارة على Cbench مقارنةً بإصدار LLVM -O3، مما يتطلب فقط بضع ثوانٍ إضافية من وقت البناء.

بالإضافة إلى ذلك، يتيح الكومبايلر المتحور تكاملًا سهلًا مع أنظمة التعلم الآلي الأخرى والنماذج اللغوية الضخمة (Large Language Models)، حيث أظهرت تطبيقات هذا النظام تحسنًا في الأداء بنسبة 10.1% و8.5% على تطبيقات CBench مثل 'Susan' و'Jpeg'.

ومن المتوقع أن يتم إصدار هذا المشروع للمجتمع المفتوح قريبًا، مما سيفتح آفاق جديدة في عالم تحسين الكومبايلرز.
ما رأيكم في هذا التطور التقني؟ شاركونا آراءكم في التعليقات!