मुझे इस प्रश्न का उत्तर देने का केवल एक तरीका पता है, और वह है प्रदर्शन ट्यूनिंग में अनुभव प्राप्त करना। इसका मतलब है कि - कार्यक्रम लिखें, और उनके लिखे जाने के बाद , उनमें स्पीडअप खोजें, और इसे पुनरावृत्त करें। यहाँ एक उदाहरण है।
यहां वह गलती है जो ज्यादातर लोग करते हैं: वे वास्तव में इसे चलाने से पहले कार्यक्रम को अनुकूलित करने का प्रयास करते हैं। यदि उन्होंने प्रोग्रामिंग में एक कोर्स लिया है (एक प्रोफेसर से जो वास्तव में बहुत व्यावहारिक अनुभव नहीं है) तो उनके पास बड़े-ओ रंगीन चश्मे होंगे, और वे सोचेंगे कि यह सब क्या है । यह सभी समान समस्या है, पूर्व अनुकूलन। **
किसी ने कहा: पहले इसे ठीक करो, फिर इसे जल्दी करो। वे सही थे।
लेकिन अब किकर के लिए: यदि आपने ऐसा कुछ बार किया है, तो आप उन मूर्खतापूर्ण चीजों को पहचानते हैं जो आपने पहले की गति की समस्याओं का कारण बनते हैं, इसलिए आप सहज रूप से उनसे बचें। (आपकी कक्षा संरचना को बहुत भारी बनाने, सूचनाओं के साथ झूलते हुए, अपने समय की लागत के साथ फ़ंक्शन कॉल के भ्रमित आकार, सूची आगे बढ़ती है ...) आप सहज रूप से इन से बचते हैं, लेकिन अनुमान लगाते हैं कि यह कैसा दिखता है- अनुभवी: समय से पहले अनुकूलन!
तो इन मूर्खतापूर्ण बहस पर और पर :)
** एक और बात वे कहते हैं कि आपको इसके बारे में अधिक चिंता करने की ज़रूरत नहीं है, क्योंकि कंपाइलर बहुत अच्छे हैं, और मशीनें आजकल बहुत तेज़ हैं। (KWWI - आयरन के साथ इसे मार डालो।) कोई घातीय हार्डवेयर या सिस्टम स्पीडअप (बहुत स्मार्ट हार्ड-वर्किंग इंजीनियरों द्वारा किया गया) है जो संभवतः घातीय सॉफ्टवेयर मंदी (इस तरह से सोचने वाले प्रोग्रामर द्वारा किए गए) के लिए क्षतिपूर्ति कर सकते हैं।