Code motion
கணினி அறிவியலில், குறியீடு இயக்கம், குறியீடு ஏற்றுதல், குறியீடு மூழ்குதல், லூப்-மாறுபட்ட குறியீடு இயக்கம் அல்லது குறியீடு காரணி என்றும் அழைக்கப்படுகிறது, இது செயல்திறன் அல்லது அளவு நன்மைகளுக்காக ஒரு நிரலுக்குள் குறியீட்டை நகர்த்தும் எந்தவொரு செயல்முறையையும் குறிக்கிறது, மேலும் இது பெரும்பாலான உகப்பாக்கும் தொகுப்பாளர்களில் நிகழ்த்தப்படும் பொதுவான தேர்வாகும். அதைச் சுற்றியுள்ள சொற்களின் சீரற்ற அர்த்தம் காரணமாக, பல்வேறு வகையான குறியீடு இயக்கங்களை வேறுபடுத்துவது கடினமாக இருக்கலாம். பயன்பாடுகள் குறியீடு இயக்கம் பல்வேறு பயன்பாடுகள் மற்றும் நன்மைகளைக் கொண்டுள்ளது, அவற்றில் பல அவற்றின் செயல்பாட்டில் ஒன்றுடன் ஒன்று இணைகின்றன. பயன்படுத்தப்படாத/பயனற்ற செயல்பாடுகளை அகற்றுவது குறியீடு மூழ்குதல், சோம்பேறி குறியீடு இயக்கம் என்றும் அழைக்கப்படுகிறது, அவை பயன்படுத்தப்படும் கிளைகளுக்கு அறிவுறுத்தல்களை நகர்த்துவதன் மூலம் வீணடிக்கப்பட்ட அறிவுறுத்தல்களைக் குறைக்கும் ஒரு நுட்பத்திற்கான ஒரு சொல்ஃ ஒரு கிளைக்கு முன் ஒரு செயல்பாடு செயல்படுத்தப்பட்டால், கிளை பாதைகளில் ஒன்று மட்டுமே அந்த செயல்பாட்டின் முடிவைப் பயன்படுத்தினால், குறியீடு மூழ்குதல் என்பது அந்த செயல்பாட்டை அது பயன்படுத்தப்படும் கிளைக்கு நகர்த்துவதைக் குறிக்கிறது. இந்த நுட்பம் டெட் கோட் நீக்குதலின் ஒரு வடிவமாகும், அதாவது அதன் முடிவுகள் நிராகரிக்கப்படும்போது அல்லது பயன்படுத்தப்படாதபோது குறியீட்டை நீக்குகிறது, ஆனால் டெட் கோட் நீக்குதலுக்கு மாறாக, அந்த அறிவுறுத்தலின் முடிவுகளை செயல்படுத்தும் குறியீடு பாதையில் பயன்படுத்த முடிந்தாலும் அது அர்த்தமற்ற அறிவுறுத்தல்களை அகற்ற முடியும். குறியீடு காரணி திட்டத்தின் அளவைக் குறைப்பது என்பது ஒரு அளவு-உகப்பாக்கம் நுட்பத்திற்கான ஒரு சொல், இது கிளைகளில் உள்ள பொதுவான சார்புநிலைகளை அதற்கு மேலே உள்ள கிளையுடன் இணைக்கிறது. முழு எண்களைக் காரணியாக்குவது ஒரு எண்ணை அதன் மிகச்சிறிய வடிவங்களாக (காரணிகளாக) சிதைப்பதைப் போலவே, குறியீடு காரணியாக்கம் குறியீட்டை மிகச் சிறிய வடிவமாக மாற்றுகிறது, பொதுவான "காரணிகளை" இணைப்பதன் மூலம் எந்த நகல்களும் இருக்காது வரை. உலகளாவிய குறியீடு இயக்கம், உள்ளூர் குறியீடு இயக்கம், குறியீடு திட்டமிடல், அறிவுறுத்தல் திட்டமிடல் மற்றும் குறியீடு ஏற்றுதல்/மூழ்குதல் ஆகியவை CPU க்குள் செயல்படுத்தும் செயல்திறனை மேம்படுத்துவதற்கான அறிவுறுத்தல்கள் மறுசீரமைக்கப்படும் (அல்லது "திட்டமிடப்பட்ட") ஒரு நுட்பத்திற்கான சொற்கள். நவீன CPUகள் ஒரு கடிகார சுழற்சிக்கு ஐந்து அல்லது அதற்கு மேற்பட்ட அறிவுறுத்தல்களை திட்டமிட முடியும். இருப்பினும், ஒரு CPU தற்போது (அல்லது இன்னும் செயல்படுத்தப்படாத) அறிவுறுத்தலில் இருந்து தரவை நம்பியிருக்கும் ஒரு அறிவுறுத்தலை திட்டமிட முடியாது. ஒரு CPU எந்த நேரத்திலும் செயலாக்கக்கூடிய அறிவுறுத்தல்களின் அளவை அதிகரிக்கும் வகையில் கம்பைலர்கள் சார்புநிலைகளை ஒன்றோடொன்று இணைக்கும். செயலிழந்த இன்டெல் ஐட்டானியம் கட்டமைப்பில், கிளை முன்கணிப்பு (பிஆர்பி) அறிவுறுத்தல் கம்பைலர் மூலம் கிளைகளுக்கு மேலே கைமுறையாக பறக்கவிடப்படுகிறது, இதனால் கிளையை உடனடியாக சிபியு எடுக்க முடியும். செயலியில் செயல்திறனை அதிகரிக்க ஐடேனியம் CPU இலிருந்து கூடுதல் குறியீடு திட்டமிடலை நம்பியுள்ளது. லூப்-மாறுபட்ட குறியீடு இயக்கம் லூப்-மாறுபட்ட குறியீடு இயக்கம் என்பது லூப்-மாறுபட்ட குறியீட்டை வளையத்திற்கு வெளியே ஒரு நிலைக்கு நகர்த்தும் செயல்முறையாகும், இது சில கணக்கீடுகள் ஒரே முடிவுக்கு இரண்டு முறை செய்யப்படுவதைத் தடுப்பதன் மூலம் வளையத்தின் செயல்படுத்தும் நேரத்தைக் குறைக்கலாம். தொகுப்பு எடுத்துக்காட்டுகள் எல். எல். வி. எம் எல். எல். வி. எம் அதன் ஒற்றை நிலையான பணி வடிவத்தில் ஒரு மூழ்கும் பாஸ் உள்ளது. எல்எல்விஎம் 15 ஒரு செயல்பாட்டை மூழ்கடிக்காது, அதன் குறியீடு பாதைகளில் ஏதேனும் ஒரு கடை அறிவுறுத்தல் இருந்தால், அல்லது அது ஒரு பிழையை ஏற்படுத்தலாம். கூடுதலாக, எல். எல். வி. எம் ஒரு அறிவுறுத்தலை ஒரு சுழற்சியில் மூழ்கடிக்காது. ஜி. சி. சி. குனு தொகுப்பு சேகரிப்பு ஒரு தொகுக்கப்பட்ட நிரலின் அளவைக் குறைக்கும் நோக்கத்துடன் "குறியீடு காரணி" என்ற பெயரில் குறியீடு இயக்கத்தை செயல்படுத்துகிறது. ஜி. சி. சி எந்தவொரு குறியீட்டையும் மேல்நோக்கி அல்லது கீழ்நோக்கி நகர்த்தும், அது "ஏற்கனவே உள்ள எந்தவொரு சார்புகளையும் செல்லாததாக்காது அல்லது புதியவற்றை அறிமுகப்படுத்தாது". ஒரு வளையத்திற்குள் தற்காலிக பொருட்களை ஒதுக்குவதற்கும் சேகரிப்பதற்கும் தொகுக்கப்பட்ட குறியீடு செலவழிக்கும் நேரத்தைக் குறைக்க, லுயாஜிட் லுயாஜிட் "ஒதுக்கீடு மூழ்குதல்" என்ற பெயரில் குறியீடு மூழ்குவதைப் பயன்படுத்துகிறது. ஒதுக்கீடு மூழ்குதல் ஒதுக்கீடுகளை செயல்படுத்தும் பாதைகளுக்கு நகர்த்துகிறது, அங்கு ஒதுக்கப்பட்ட பொருள் செயல்படுத்தும் குறியீட்டிலிருந்து தப்பிக்கக்கூடும், இதனால் குவியல் ஒதுக்கீடு தேவைப்படும். அகற்றப்பட்ட ஒதுக்கீடுகள் அனைத்தும் தங்கள் வயல்களுக்கு ஏற்றப்படும் பொருளை கடைக்கு அனுப்புவதன் மூலம் நிரப்பப்படுகின்றன. மேலும் காண்க லூப்-மாறுபட்ட குறியீடு இயக்கம் அறிவுறுத்தல் திட்டமிடல் சார்பு வரைபடம் குறிப்புகள் தொகுப்பு உகப்பாக்கங்கள்