कि ईसा आप के लिए संकलित कर रहे हैं पर निर्भर करता है, और अपने संकलक के अनुकूलक की गुणवत्ता। समय-समय पर अनुकूलित न करें: अपनी बाधाओं को खोजने के लिए पहले प्रोफ़ाइल।
ने कहा कि, x86 में, आप पाएंगे कि ज्यादातर मामलों में दोनों समान रूप से तेज़ हैं। दोनों मामलों में, आपके पास तुलना (cmp
) और एक सशर्त कूद (jCC
) निर्देश होंगे। हालांकि, (x < 0)
के लिए, ऐसे कुछ उदाहरण हो सकते हैं जहां संकलक cmp
निर्देश को बढ़ा सकता है, द्वारा एक संपूर्ण चक्र तक अपना कोड बढ़ा सकता है।
विशेष रूप से, यदि मूल्य x
एक रजिस्टर में संग्रहित है और हाल ही में एक अंकगणितीय संचालन का परिणाम था (जैसे add
के रूप में, या sub
, लेकिन वहाँ कई और अधिक संभावनाएं हैं) कि EFLAGS रजिस्टर में हस्ताक्षर झंडा एस एफ सेट, तो cmp
निर्देश की कोई आवश्यकता नहीं है, और संकलक केवल js
निर्देश उत्सर्जित कर सकता है। कोई आसान jCC
निर्देश नहीं है जो इनपुट -1 था जब कूदता है।
स्रोत
2009-05-26 19:37:28
इतनी कम स्तर विचार में उत्तर देने के लिए, सीपीयू वास्तुकला की जानकारी का एक न्यूनतम टुकड़ा हो सकता है, आपको नहीं लगता कि? लेकिन फिर भी, एक सीपीयू जिसे उन परिस्थितियों के लिए विभिन्न चक्रों की आवश्यकता होती है वह बहुत प्राचीन होगी। – joelr
किसी भी उचित आधुनिक सीपीयू (पिछले दशक या उससे भी अधिक) में, मुझे आश्चर्य होगा कि अगर 32-बिट पूर्णांक तुलना एक से अधिक चक्र लेती है। – Eddie
यह एक बुरा सवाल क्यों है? प्रोसेसर कैसे काम करते हैं और इस तरह की चीजों के बारे में एक बेहतर समझ के साथ जुड़े सभी का एक संपूर्ण जवाब। क्या यह अच्छी बात नहीं है? –