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

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

‫AutoFDO هي الإصدار الأحدث من ميزة "التحسين المستند إلى الملف الشخصي" (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.