क्या हमने शुद्ध ऑप्टिमाइज़ेशन की कला खो दी है?

शुरुआती इंजीनियर बहुत ही सीमित सीमाओं के साथ काम करते थे। अपोलो गाइडेंस कंप्यूटर में केवल 2KB RAM थी। हर एक बिट मायने रखती थी। CPU का हर एक साइकिल महत्वपूर्ण था।

आज, हमारे पास गीगाबाइट्स (gigabytes) की मेमोरी है। हम अक्सर अधिक हार्डवेयर जोड़कर समस्याओं का समाधान करते हैं। यदि कोड धीमा या भारी है, तो हम अधिक RAM जोड़ देते हैं। यह आदत हमें शुद्ध ऑप्टिमाइज़ेशन के कौशल को खोने पर मजबूर कर देती है।

आप सीमाओं (constraints) के बारे में सोचकर बेहतर सॉफ्टवेयर लिख सकते हैं।

देखिए कि आप Python में एक बड़ी टेक्स्ट फ़ाइल को कैसे प्रोसेस करते हैं।

सामान्य तरीका: कई डेवलपर्स एक बार में पूरी फ़ाइल को मेमोरी में पढ़ लेते हैं।

ऑप्टिमाइज़्ड तरीका: फ़ाइल को एक बार में एक लाइन करके प्रोसेस करें।

यह अंतर इंजीनियरिंग दर्शन (philosophy) का है।

अधिक संसाधन जोड़ना एक अस्थायी समाधान है। यह कमज़ोर (fragile) सॉफ्टवेयर बनाता है। अपने डिज़ाइन को दिशा देने के लिए सीमाओं (constraints) का उपयोग करना मज़बूत (robust) सॉफ्टवेयर बनाता है।

ऑप्टिमाइज़ेशन केवल गति के बारे में नहीं है। यह अपने संसाधनों के प्रति सचेत रहने के बारे में है।

जब आप कोड लिखें, तो खुद से पूछें:

बेहतर सॉफ्टवेयर अनुशासन से आता है।

स्रोत: https://dev.to/prabashanadev/have-we-lost-the-art-of-pure-optimization-31b9