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

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

تحسين الأداء التلقائي بالاستناد إلى الأدوات (AutoFDO) هو البديل لميزة "التحسين بالاستناد إلى الملف الشخصي" (PGO) المستندة إلى الأدوات.

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

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

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

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

تفعيل ميزة 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.