मैं समझता हूं कि here समझाया गया है और साथ ही इसमें स्थिर शाखा भविष्यवाणी के लिए सीपीयू को संकेत शामिल होंगे।क्या BOOST_LIKELY और __builtin_expect अभी भी प्रासंगिक हैं?
मैं सोच रहा था कि इंटेल CPUs पर ये कितने प्रासंगिक हैं कि इंटेल CPUs ने here के अनुसार स्थिर भविष्यवाणी संकेतों के लिए समर्थन छोड़ दिया है। अगर मैं समझता हूं कि यह अब कैसे काम करता है, तो पथ में शाखा निर्देशों की संख्या एकमात्र चीज होगी जो संकलक नियंत्रित कर सकती है और कौन सा शाखा पथ भविष्यवाणी की जाती है, प्राप्त और डीकोडेड रनटाइम पर तय की जाती है।
यह देखते हुए, क्या ऐसे परिदृश्य हैं जहां कोड में शाखा संकेत हाल ही में इंटेल प्रोसेसर को लक्षित करने वाले सॉफ़्टवेयर के लिए उपयोगी हैं, शायद सशर्त वापसी का उपयोग कर रहे हैं या नेस्टेड के मामले में महत्वपूर्ण पथ में शाखा निर्देशों की संख्या से बचने के लिए ?
इसके अलावा, यदि ये अभी भी प्रासंगिक हैं, तो जीसीसी और अन्य लोकप्रिय कंपाइलरों पर किसी भी विनिर्देश की सराहना की जाती है।
पीएस मैं समयपूर्व अनुकूलन या इन मैक्रोज़ के साथ कोड को मिर्च करने के लिए नहीं हूं, लेकिन मुझे इस विषय में रूचि है क्योंकि मैं कुछ समय के साथ महत्वपूर्ण कोड के साथ काम कर रहा हूं और अभी भी जहां संभव हो वहां कोड अव्यवस्था को कम करना चाहता हूं।
धन्यवाद
कोड उत्पन्न करना ताकि अपेक्षित पथ स्मृति में एक साथ हो, फिर भी कोड इलाके में सुधार हो, और संकलक इसे नियंत्रित कर सकता है। – Jester
@ जेस्टर धन्यवाद। सहमत हैं कि यह निर्देश कैश प्रदर्शन में सुधार कर सकता है। आश्चर्य है कि अगर यह एक विशिष्ट प्रोसेसर को लक्षित करते समय जीसीसी द्वारा किया जाता है। – Jeevaka
इसके अलावा, AFAIK, संकलन/लिंकिंग के दौरान विधियों को विभाजित नहीं किया जाता है। तो अगर छोटे तरीकों/नियंत्रण ब्लॉक में/अन्य लोगों के लिए इलाके में सुधार से ज्यादा मदद नहीं मिल सकती है। – Jeevaka