Profile-guided optimization
சுயவிவர-வழிகாட்டப்பட்ட உகப்பாக்கம் (பி. ஜி. ஓ, சில நேரங்களில் போகோ என்றும் உச்சரிக்கப்படுகிறது), சுயவிவர-இயக்கப்படும் பின்னூட்டம் (பி. டி. எஃப்) என்றும் அழைக்கப்படுகிறது, மேலும் பின்னூட்டம்-இயக்கப்படும் உகப்பாக்கம் (எஃப். டி. ஓ) என்பது கணினி நிரலாக்கத்தில் ஒரு தொகுப்பு உகப்பாக்கம் நுட்பமாகும், இது நிரல் இயக்க நேர செயல்திறனை மேம்படுத்த சுயவிவரத்தைப் பயன்படுத்துகிறது. மூலக் குறியீட்டின் நிலையான நிரல் பகுப்பாய்வின் அடிப்படையில் முறை உகப்பாக்கம் நுட்பங்கள் உண்மையில் நிரலை செயல்படுத்தாமல் குறியீடு செயல்திறன் மேம்பாடுகளைக் கருத்தில் கொள்கின்றன. மாறும் நிரல் பகுப்பாய்வு எதுவும் செய்யப்படவில்லை. லூப் எத்தனை முறை செயல்படுத்தப்படும் என்பது உட்பட லூப்களுக்குள் குறியீட்டை பகுப்பாய்வு பரிசீலிக்கலாம், எடுத்துக்காட்டாக லூப் அன்ரோலிங்கில். அனைத்து இயக்க நேர தகவல்களும் இல்லாத நிலையில், நிலையான நிரல் பகுப்பாய்வு உண்மையில் அந்த குறியீடு பிரிவு எவ்வளவு அடிக்கடி செயல்படுத்தப்படுகிறது என்பதை கணக்கில் எடுத்துக் கொள்ள முடியாது. 1957 ஆம் ஆண்டில் ஃபோர்ட்ரான் தானியங்கி குறியீட்டு முறைமையாக அறிமுகப்படுத்தப்பட்ட முதல் உயர்மட்ட தொகுப்பாளர், குறியீட்டை தொகுதிகளாகப் பிரித்து, ஒவ்வொரு தொகுதியும் ஒரு மான்டே கார்லோ பாணியில் குறியீட்டை உருவகப்படுத்தப்பட்ட செயலாக்கத்தின் மூலம் செயல்படுத்தப்படும் அதிர்வெண்ணின் அட்டவணையை உருவாக்கினார், இதில் நிபந்தனை பரிமாற்றங்களின் விளைவு (ஐ. எஃப்-வகை அறிக்கைகள் வழியாக) ஒரு சீரற்ற எண் ஜெனரேட்டரால் தீர்மானிக்கப்படுகிறது, இது புரோகிராமரால் வழங்கப்பட்ட FREQUENCY அறிக்கைகளால் பொருத்தமாக எடைபோடப்படுகிறது. புரோகிராமர் வழங்கிய அதிர்வெண் தகவலுக்கு பதிலாக, சுயவிவரம்-வழிகாட்டப்பட்ட உகப்பாக்கம் இறுதி உருவாக்கப்பட்ட குறியீட்டை மேம்படுத்த கருவி நிரலின் விவரக்குறிப்பு சோதனை ஓட்டங்களின் முடிவுகளைப் பயன்படுத்துகிறது. தொகுப்பாளர் ஒரு பிரதிநிதி உள்ளீட்டு தொகுப்பில் நிரலின் மாதிரி ஓட்டத்திலிருந்து சுயவிவரத் தரவை அணுகுகிறார். நிரலின் எந்தப் பகுதிகள் அடிக்கடி செயல்படுத்தப்படுகின்றன என்பதையும், எந்தப் பகுதிகள் குறைவாக அடிக்கடி செயல்படுத்தப்படுகின்றன என்பதையும் முடிவுகள் சுட்டிக்காட்டுகின்றன. அனைத்து உகப்பாக்கங்களும் சுயவிவரம்-வழிகாட்டப்பட்ட பின்னூட்டத்திலிருந்து பயனடைகின்றன, ஏனெனில் அவை தொகுப்பு முடிவுகளை எடுக்கும்போது ஹூரிஸ்டிக்ஸை குறைவாக நம்பியுள்ளன. இருப்பினும், எச்சரிக்கை என்னவென்றால், விவரக்குறிப்பு கட்டத்தில் நிரலுக்கு வழங்கப்பட்ட தரவின் மாதிரி வழக்கமான பயன்பாட்டு சூழ்நிலைகளின் புள்ளிவிவர பிரதிநிதியாக இருக்க வேண்டும்; இல்லையெனில், சுயவிவர-வழிகாட்டப்பட்ட பின்னூட்டம் இறுதி கட்டமைப்பின் ஒட்டுமொத்த செயல்திறனை மேம்படுத்துவதற்குப் பதிலாக தீங்கு விளைவிக்கும் ஆற்றலைக் கொண்டுள்ளது. ஜஸ்ட்-இன்-டைம் தொகுப்பு மிகவும் திறமையான சொந்த குறியீட்டை உருவாக்க செயல்படுத்தப்பட்ட குறியீட்டின் பகுதிகளை மாறும் வகையில் மீண்டும் தொகுக்க இயக்க நேரத் தகவலைப் பயன்படுத்தலாம். செயல்பாட்டின் போது டைனமிக் சுயவிவரம் மாறினால், அது முந்தைய சொந்த குறியீட்டை நீக்க முடியும், மேலும் புதிய சுயவிவரத்திலிருந்து தகவல்களுடன் உகந்த புதிய குறியீட்டை உருவாக்க முடியும். தத்தெடுப்பு PGO ஐப் பயன்படுத்தி பயர்பாக்ஸை உருவாக்குவதற்கான ஆதரவு உள்ளது. பி. ஜி. ஓ பயனுள்ளதாக இருந்தாலும், அதன் கடினமான இரட்டை தொகுப்பு மாதிரி காரணமாக மென்பொருள் திட்டங்களால் இது பரவலாக ஏற்றுக்கொள்ளப்படவில்லை. வன்பொருள் செயல்திறன் கவுண்டர்களைப் பயன்படுத்தி ஒரு சுயவிவரத்தை சேகரிப்பதன் மூலம் கருவி இல்லாமல் பி. ஜி. ஓ செய்ய முடியும். இந்த மாதிரி அடிப்படையிலான அணுகுமுறை மிகவும் குறைந்த மேல்நிலையைக் கொண்டுள்ளது மற்றும் ஒரு சிறப்பு தொகுப்பு தேவையில்லை. ஹாட்ஸ்பாட் ஜாவா மெய்நிகர் இயந்திரம் (ஜே. வி. எம்) சுயவிவர வழிகாட்டப்பட்ட உகப்பாக்கத்தை பயன்படுத்தி சொந்த குறியீட்டை மாறும் வகையில் உருவாக்குகிறது. இதன் விளைவாக, ஒரு மென்பொருள் பைனரி அது பெறும் உண்மையான சுமைக்கு உகந்ததாக இருக்கும். சுமை மாறினால், தகவமைப்பு உகப்பாக்கம் புதிய சுமைக்கு உகந்ததாக இயங்கக்கூடிய மென்பொருளை மாறும் வகையில் மீண்டும் தொகுக்க முடியும். இதன் பொருள் என்னவென்றால், ஹாட்ஸ்பாட் ஜே. வி. எம் இல் செயல்படுத்தப்படும் அனைத்து மென்பொருள்களும் சுயவிவர வழிகாட்டப்பட்ட உகப்பாக்கத்தை திறம்பட பயன்படுத்துகின்றன. கூகிள் குரோமின் மைக்ரோசாப்ட் விண்டோஸ் பதிப்பில் பி. ஜி. ஓ ஏற்றுக்கொள்ளப்பட்டுள்ளது. குரோமின் 64-பிட் பதிப்பில் பதிப்பு 53 இல் தொடங்கி 32-பிட் பதிப்பில் பதிப்பு 54 இல் பி. ஜி. ஓ இயக்கப்பட்டது. கூகிள் 10 சதவீதம் செயல்திறன் முன்னேற்றத்திற்கு வழிவகுக்கும் கட்டமைப்புகளை வழிநடத்த உற்பத்தி சுயவிவரங்களைப் பயன்படுத்துவதற்கான ஒரு அமைப்பை (ஆட்டோஎஃப்டிஓ) விவரிக்கும் ஒரு கட்டுரையை வெளியிட்டது. செயலாக்கங்கள் பி. ஜி. ஓ-வை செயல்படுத்தும் தொகுப்பாளர்களின் எடுத்துக்காட்டுகள்ஃ இன்டெல் சி + + தொகுப்பாளர் மற்றும் ஃபோர்ட்ரான் தொகுப்பாளர்கள் குனு தொகுப்பாளர் சேகரிப்பு தொகுப்பாளர்கள் ஆரக்கிள் சோலாரிஸ் ஸ்டுடியோ (முன்பு சன் ஸ்டுடியோ என்று அழைக்கப்பட்டது) மைக்ரோசாப்ட் விஷுவல் சி + + தொகுப்பாளர் கிளாங் ஐபிஎம் எக்ஸ்எல் சி/சி + கிரால்விஎம் எண்டர்பிரைஸ் எடிஷன். நெட் ஜேஐடி தொகுப்பாளர் கோ மேலும் காண்க தகவமைப்பு உகப்பாக்கம் டைனமிக் டெட் கோட் நீக்குதல் உலகளாவிய உகப்பாக்கம் ஹாட் ஸ்பாட் (கணினி நிரலாக்கம்) இடைப்பட்ட உகப்பாக்கம் இணைப்பு-நேர உகப்பாக்கம் (எல்டிஓ) சரியான நேரத்தில் தொகுப்பு குறிப்புகள் தொகுப்பு உகப்பாக்கங்களைக் கண்டறிதல்