स्वचालित फीडबैक-निर्देशित अनुकूलन (12 या उच्चतर)

एंड्रॉइड 12 में पेश किया गया, एंड्रॉइड बिल्ड सिस्टम देशी एंड्रॉइड मॉड्यूल को अनुकूलित करने का समर्थन करता है जिसमें स्वचालित फीडबैक-डायरेक्टेड ऑप्टिमाइज़ेशन (ऑटोएफडीओ) का उपयोग करके ब्लूप्रिंट बिल्ड नियम होते हैं। AutoFDO एक नमूना-आधारित अनुकूलन तकनीक है। ऑटोएफडीओ सिस्टम बायनेरिज़ के रनटाइम व्यवहार को कैप्चर करता है, जिससे कंपाइलर बाइनरी आकार को कम करते हुए बेहतर प्रदर्शन अनुकूलन करने में सक्षम होते हैं। AutoFDO AArch32 और AArch64 आर्किटेक्चर से डेटा एकत्र करने का समर्थन करता है, हालांकि प्रोफाइल का उपयोग आर्किटेक्चर में किया जा सकता है।

AutoFDO इंस्ट्रुमेंटेशन-आधारित प्रोफ़ाइल-निर्देशित अनुकूलन (PGO) का उत्तराधिकारी है।

अन्य उपकरण आधारित प्रोफाइल की तुलना में, AutoFDO के ये अतिरिक्त लाभ हैं:

  • विनीत डेटा संग्रह: ऑटोएफडीओ प्रोफाइल को नियमों के निर्माण के लिए किसी भी संशोधन के बिना विकास या उपयोगकर्ता उपकरणों से एकत्र किया जा सकता है।

  • वास्तविक-विश्व उपयोग प्रतिनिधित्व: ऑटोएफडीओ वास्तविक-विश्व उपयोग व्यवहार का प्रतिनिधित्व करता है, यह मानते हुए कि प्रोफाइल उपयोगकर्ता उपकरणों से एकत्र किए जाते हैं, जबकि इंस्ट्रूमेंटेशन पीजीओ केवल सिंथेटिक संग्रह कार्यभार का प्रतिनिधि है। आम तौर पर ऐसा संग्रह कार्यभार बनाना आसान नहीं है जो वास्तविक दुनिया के उपयोग से पूरी तरह मेल खाता हो।

अधिकांश प्रदर्शन-महत्वपूर्ण परियोजनाओं के लिए AOSP AutoFDO प्रोफाइल के साथ आता है। प्रोफाइल फोन और टैबलेट उपकरणों से एकत्र किए गए थे, और उनके सामान्य उपयोग पैटर्न के प्रतिनिधि हैं। प्रोफ़ाइल toolchain/pgo-profiles/sampling के अंतर्गत स्थित हैं। AOSP पर AFDO डिफ़ॉल्ट रूप से सक्षम है।

ब्लूप्रिंट बिल्ड नियम के लिए AutoFDO सक्षम करें

ब्लूप्रिंट बिल्ड नियमों के लिए ऑटोएफडीओ को सक्षम करने के लिए, साझा लाइब्रेरी या बाइनरी नियम में afdo: true जोड़ें।

प्रोफ़ाइल एकत्रित करें

AOSP के साथ प्रदान की गई प्रीबंडल प्रोफ़ाइल इन विशिष्ट परिदृश्यों का समर्थन नहीं करती है:

  • अतिरिक्त AutoFDO परियोजनाओं का समावेश
  • स्थानीय रूप से संशोधित कोड की उपस्थिति
  • आपके सिस्टम से जुड़े अद्वितीय उपयोग पैटर्न

यदि आपके पास इनमें से कोई एक परिदृश्य है, तो आपको सीधे विकास या उपयोगकर्ता उपकरणों से प्रोफ़ाइल एकत्र करनी होगी।

ऑटोएफडीओ प्रोफाइल एकत्र करने के लिए एआरएम डिवाइस कैसे तैयार करें, इस पर विस्तृत निर्देश के लिए, ऑटोएफडीओ के लिए ईटीएम डेटा एकत्र करें देखें।

स्वचालित पृष्ठभूमि प्रोफ़ाइल संग्रह, प्रसंस्करण और अपलोडिंग को सक्षम करने के तरीके के बारे में जानकारी के लिए, प्रोफ़ॉलेक्ट देखें।

ऑटोएफडीओ प्रोफाइल का विश्लेषण करें

एंड्रॉइड मानक एलएलवीएम ऑटोएफडीओ प्रोफाइल का उपयोग करता है। एएफडीओ प्रोफाइल को एलएलवीएम के llvm-profdata टूल का उपयोग करके पढ़ा जा सकता है। afdo_summary.sh स्क्रिप्ट ( toolchain/pgo-profiles/scripts/afdo_summary.sh ) ऑटोएफडीओ प्रोफाइल के अनुसार स्वचालित रूप से सबसे अधिक बार निष्पादित फ़ंक्शन उत्पन्न करती है।