التحسين التلقائي المستنِد إلى الملاحظات (الإصدار 12 أو الإصدارات الأحدث)

يتيح نظام إنشاء Android، الذي تم طرحه في الإصدار 12 من نظام التشغيل Android، تحسين وحدات Android الأصلية التي تتضمّن قواعد إنشاء مخططات باستخدام التحسين التلقائي المستند إلى الملاحظات (AutoFDO). ‫AutoFDO هي تقنية تحسين مستندة إلى أخذ العيّنات. تتتبّع AutoFDO سلوك وقت التشغيل لملفات النظام الثنائية، ما يتيح للمترجمات إجراء تحسينات أفضل على الأداء مع تقليل حجم الملفات الثنائية أيضًا. يتيح نظام التشغيل Android جمع الملفات الشخصية من أجهزة X86 وX86_64 وARM وARM64، على الرغم من إمكانية استخدام الملفات الشخصية على مستوى البِنى.

‫AutoFDO هي الإصدار الأحدث من ميزة Profile-Guided Optimization (PGO) المستندة إلى أدوات القياس.

مقارنةً بملفات التعريف المستندة إلى أدوات القياس الأخرى، توفّر AutoFDO المزايا الإضافية التالية:

  • جمع البيانات بدون إزعاج: يمكن جمع ملفات AutoFDO الشخصية من أجهزة التطوير أو أجهزة المستخدمين بدون أي تعديل على قواعد الإنشاء.

  • تمثيل الاستخدام في العالم الحقيقي: تمثّل AutoFDO سلوك الاستخدام في العالم الحقيقي بافتراض أنّه يتم جمع الملفات الشخصية من أجهزة المستخدمين، بينما تمثّل PGO المستندة إلى أدوات القياس عبء العمل الخاص بعملية الجمع الاصطناعي فقط. ليس من السهل بشكل عام إنشاء عبء عمل لعملية جمع البيانات يتطابق تمامًا مع الاستخدام في العالم الحقيقي.

تتضمّن حزمة AOSP ملفات شخصية لـ AutoFDO لمعظم المشاريع التي تتطلّب أداءً عاليًا. تم جمع الملفات الشخصية من أجهزة هواتف وأجهزة لوحية، وهي تمثّل أنماط الاستخدام العامة لهذه الأجهزة. تتوفّر الملفات الشخصية ضمن toolchain/pgo-profiles/sampling. يتم تفعيل AFDO تلقائيًا على AOSP.

تفعيل AutoFDO لقاعدة إنشاء مخطط

لتفعيل AutoFDO لقواعد إنشاء المخططات، أضِف afdo: true إلى المكتبة المشترَكة أو قاعدة البيانات الثنائية.

جمع الملفات الشخصية

لا يتوافق الملف الشخصي المُجمَّع مسبقًا والمضمَّن في AOSP مع الحالات المحدّدة التالية:

  • تضمين مشاريع AutoFDO إضافية
  • توفُّر رمز معدَّل محليًا
  • أنماط الاستخدام الفريدة المرتبطة بنظامك

في حال توفّر إحدى هذه الحالات، عليك جمع ملفات الأداء مباشرةً من أجهزة التطوير أو أجهزة المستخدمين.

للحصول على تعليمات تفصيلية حول كيفية إعداد أجهزة ARM لجمع ملفات AutoFDO، يُرجى الرجوع إلى جمع بيانات ETM لـ AutoFDO.

للحصول على تعليمات مفصّلة حول كيفية إعداد أجهزة X86 لجمع ملفات AutoFDO، يُرجى الرجوع إلى جمع بيانات LBR لـ AutoFDO.

للحصول على معلومات حول كيفية تفعيل ميزة جمع ملفات الخلفية ومعالجتها وتحميلها تلقائيًا، يُرجى الاطّلاع على Profcollect.

تحليل ملفات AutoFDO

يستخدم Android ملفات تعريف LLVM AutoFDO العادية. يمكن قراءة ملفات AFDO الشخصية باستخدام أداة llvm-profdata في LLVM. ينشئ النص البرمجي afdo_summary.sh(toolchain/pgo-profiles/scripts/afdo_summary.sh) تلقائيًا الدوال الأكثر تنفيذًا وفقًا لملف AutoFDO.