2013-06-28 2 views
6

क्या जावा जेआईटी उसी मशीन पर प्रत्येक रन पर समान अनुकूलन के साथ बाइटकोड संकलित करता है?क्या जावा जेआईटी बायटेकोड को संकलित रूप से संकलित करता है - एक ही मशीन पर प्रत्येक रन के लिए समान अनुकूलन?

क्या यह किसी दिए गए पल में CPU उपयोग जैसे गतिशील कारकों को ध्यान में रखता है, या यह अस्थायी कारकों के बावजूद हर बार समान अनुकूलन करेगा?

+0

कौन सा जावा जेआईटी संकलक? – SLaks

+1

मुझे हॉटस्पॉट – selig

+0

के बारे में जानने में दिलचस्पी है यदि आपके प्रोग्राम में यादृच्छिकता है और एक रन कॉल विधि ए और एक और रन कॉल विधि बी है, तो नहीं, आपको वही अनुकूलन नहीं मिलेगा। –

उत्तर

4

नहीं, अनुकूलन गैर-निर्धारक हैं। यहां तक ​​कि यदि आप सटीक एकल-थ्रेडेड, पूरी तरह से निर्धारिती प्रोग्राम चलाते हैं, तो जेआईटी द्वारा उपयोग किए जाने वाले नमूने को यह निर्धारित करने के लिए कि कौन से तरीके अनुकूलित करने के लिए एक अलग सेट चुन सकते हैं।

जेनरेट मशीन कोड को बदल सकते हैं एक और चीज कोड द्वारा संदर्भित कुछ स्थिरांक के वास्तविक स्मृति स्थान है। जेआईटी मशीन निर्देशों को उत्सर्जित कर सकता है जो सीधे इन मेमोरी स्थानों तक पहुंचते हैं, जिसके परिणामस्वरूप विभिन्न पास पर मशीन कोड के बीच अतिरिक्त अंतर होता है।

Jikes RVM का उपयोग कर शोधकर्ताओं ने Compiler Replay नामक सुविधा का उपयोग कर अपने मानक के लिए इस समस्या को संबोधित किया है।

संबंधित मुद्दे

 संबंधित मुद्दे