ऐसा लगता है कि आप इन सब से बहुत उलझन में हैं। आइए इन मिथकों में से कुछ को संबोधित करें जिन्हें आपने खींचा है।
सामान्य असाइनमेंट की तुलना में कास्टिंग धीमा है।
यह वास्तव में आप जो भी कास्टिंग कर रहे हैं उस पर निर्भर करता है। विभिन्न पता प्रकारों के बीच, नहीं; कास्टिंग वास्तव में मुफ्त है क्योंकि आप एक ही मूल्य के लिए एक अलग व्याख्या लागू कर रहे हैं। संख्यात्मक प्रकार की विभिन्न चौड़ाई के बीच कास्टिंग थोड़ा धीमा हो सकता है (और कभी-कभी असाइनमेंट पर पूर्ण रूप से किया जाता है) लेकिन अभी भी बहुत तेज़ है।
फ़ंक्शन कॉल धीमे हैं।
वास्तव में नहीं। वे स्वतंत्र नहीं हैं, लेकिन लागत इतनी अधिक नहीं है कि आपको से बचना चाहिए जब तक कि आपके पास अन्यथा कहने वाले डेटा को प्रोफाइलिंग प्राप्त हो। ऐसा करने के लिए बहुत अच्छे कारण के बिना कभी भी अनुकूलित न करें और प्रमाण यह है कि इससे मदद मिलेगी। (रिकॉर्ड के लिए मुझे प्रयास किए गए ऑप्टिमाइज़ेशन को वापस करने के लिए जाना जाता है, जिनके पास प्रदर्शन लाभों का संतुलन नहीं था।)
बाइनरी ऑपरेशंस सामान्य संचालन से तेज़ होते हैं।
"सामान्य ऑपरेशन" क्या है? एफडब्ल्यूआईडब्ल्यू, अतिरिक्त बाइनरी ऑपरेशन है। तो गुणा है। आधुनिक हार्डवेयर पर, वे दोनों बहुत तेज हैं।कंपाइलर को इसके बारे में चिंता करने दें। यह बहुत महत्वपूर्ण है कि आप वर्णन कर रहे हैं कि आप सही तरीके से क्या कर रहे हैं।
अब, चीजें हैं जो वास्तव में खर्च के लिए:
- आई/ओ।
- मेमोरी आवंटन।
- मेमोरी प्रतियां।
- गहरा घोंसला (या बहुत लंबा) लूप।
उन पर अपनी आंखें रखें; वे हैं जहां सॉफ्टवेयर आमतौर पर धीमा हो जाता है। और हमेशा अच्छे एल्गोरिदम और डेटा संरचनाएं चुनें।
स्रोत
2010-05-22 21:54:00
* "... कास्टिंग धीमा है ..." * कास्टिंग, सी में, रनटाइम पर शून्य-टाइम ऑपरेशन है। संकलन-समय पर यह * पूरी तरह से * होता है। इसी तरह, फ़ंक्शन कॉल उच्च स्तर की भाषा में सी से अधिक तेज़ नहीं होते हैं; * शाब्दिक * बस "स्टैक पर रिटर्न वैल्यू को दबाएं, स्टैक पर 0 दबाएं, एक कूद निष्पादित करें।" आप इन "सत्य" कहां से प्राप्त कर रहे हैं? 'क्योंकि मुझे एक और स्रोत मिलेगा। :-) –
कास्टिंग धीमा है? सी में? यह रन-टाइम पर भी मौजूद नहीं है। –
@ टीजे। कुछ जानवर मुक्त नहीं हैं। उदाहरण के लिए, 'char' को' डबल' पर कास्टिंग करें। अभी भी बहुत सस्ता है। –