मैं हाल ही में (मज़े के लिए) x86 असेंबली में लिख रहा हूं और यह सोच रहा था कि क्या प्री प्रीफिक्स्ड स्ट्रिंग निर्देशों में वास्तव में आधुनिक प्रोसेसर पर प्रदर्शन बढ़त है या नहीं बैक-संगतता के लिए अभी लागू किया गया है।आधुनिक (पाइपलाइन/सुपरस्कालर) प्रोसेसर पर x86 प्रतिनिधि निर्देशों का प्रदर्शन
मैं समझ सकता हूं कि क्यों इंटेल मूल रूप से प्रतिनिधि निर्देशों को लागू करता था जब प्रोसेसर केवल एक समय में एक निर्देश चलाते थे, लेकिन क्या अब उनका उपयोग करने का कोई फायदा है?
एक लूप के साथ जो अधिक निर्देशों को संकलित करता है, वहां पाइपलाइन को भरने और/या ऑर्डर जारी करने के लिए और कुछ भी है। क्या आधुनिक प्रोसेसर इन rep-prefixed निर्देशों के लिए अनुकूलित करने के लिए बनाया गया है, या आधुनिक कोड में शायद ही कभी निर्देशों का उपयोग किया जाता है कि वे निर्माताओं के लिए महत्वपूर्ण नहीं हैं?
मैंने इसमें 5 साल की तरह नहीं देखा है, लेकिन फिर मेरे व्यक्तिगत अनुभव यह था कि कम से कम प्रतिनिधि movsd और rep stosd एक साधारण पाश से तेज थे जबकि स्कैनिंग संस्करणों में से कुछ नहीं थे। हालांकि, यह काफी महत्वपूर्ण हो सकता है। –
विभिन्न प्रोसेसर पर एक परीक्षण आयोजित करें और खुद के लिए देखें। –
इनपुट, दोस्तों के लिए धन्यवाद। एलेक्स: मैं शायद अंततः, लेकिन मेरे पास कोशिश करने के लिए कई अलग-अलग प्रोसेस नहीं हैं, इसलिए यह एक असली प्रो बनाम एक एमुलेटर पर होगा जिसमें पाइपलाइन नहीं होगी। इसके अलावा, मैं आलसी हूं और अगर वह किसी और ने इसे पहले ही कर लिया हो तो वह काम नहीं करेगा। :) – RyanS