मैं स्थानीय अनुकूलन कंपाइलर तकनीकों पर पढ़ रहा हूं लेकिन मुझे यह नहीं लगता कि वे कैसे कार्यान्वित किए जाते हैं। विचार यह है कि अनुकूलक प्रत्येक बार कोड की 'विंडो' को देखता है और किसी भी तरह से पैटर्न का पता लगाता है और उन्हें अधिक अनुकूलित संस्करणों के साथ बदल देता है।पेफोल ऑप्टिमाइज़ेशन पैटर्न
मेरा सवाल है, कोई इन पैटर्न को कैसे खोजता है? (मान लीजिए कि आपका प्लेटफॉर्म एक वीएम है जो शॉकन हैक जैसे एक निर्मित कंप्यूटर के लिए असेंबली कोड आउटपुट करता है)।
क्या लोग वास्तव में मैन्युअल रूप से कोड का निरीक्षण करते हैं (नियंत्रण प्रवाह ग्राफ या डीएजी या जो भी हो) का उपयोग करते हैं और फिर पहचान किए गए सभी पैटर्न इकट्ठा करते हैं और उन्हें ऑप्टिमाइज़र में कोड करते हैं? या कोई स्वचालित तरीका है।
उदाहरण के लिए, आप एक विश्लेषक में कोड-टू-ए-अनुकूलित अनुकूलित करते हैं, और यह पैटर्न बताते हैं। यदि हां, तो कोई एक लिखना शुरू कर सकता है?
मुझे लगता है कि इसे आम तौर पर 'इनलाइन कैशिंग' कहा जाता है। रनटाइम पर इस तकनीक का उपयोग करके आपको हालिया जावास्क्रिप्ट इंजनों के लिए बहुत साहित्य मिलेगा। Http://wingolog.org/archives/2012/05/29/inline-cache-applications-in-checheme देखें। – leppie
यह दिलचस्प है, पहली बार मैं इसमें टक्कर लगी। मैं आमतौर पर ताकत में कमी, निरंतर मूल्यांकन, नियंत्रण प्रवाह विकल्प इत्यादि जैसे संचालन के लिए सोच रहा था .. – gfountis
ऐसा लगता है कि 'रनटाइम' हां पर लक्षित किया गया है? या यह अधिक तंग असेंबली कोड उत्पन्न करने के लिए प्रयोग किया जाता है? – gfountis