आपण शुद्ध ऑप्टिमायझेशनची कला गमावली आहे का?

सुरुवातीचे इंजिनिअर्स अत्यंत मर्यादित संसाधनांसह काम करत असत. Apollo Guidance Computer मध्ये केवळ 2KB RAM होती. प्रत्येक 'बिट' (bit) महत्त्वाचा होता. प्रत्येक CPU सायकल अत्यंत मोलाची होती.

आज आपल्याकडे गिगाबाइट्समध्ये मेमरी उपलब्ध आहे. आपण अनेकदा अधिक हार्डवेअर जोडून समस्या सोडवतो. जर कोड संथ किंवा जड असेल, तर आपण अधिक RAM वाढवतो. या सवयीमुळे आपण शुद्ध ऑप्टिमायझेशनचे कौशल्य गमावत चाललो आहोत.

मर्यादांचा (constraints) विचार करून तुम्ही अधिक चांगले सॉफ्टवेअर लिहू शकता.

Python मध्ये तुम्ही एक मोठी टेक्स्ट फाईल कशी प्रोसेस करता, ते पहा.

सामान्य पद्धत: अनेक डेव्हलपर्स संपूर्ण फाईल एकाच वेळी मेमरीमध्ये लोड करतात.

ऑप्टिमाइज्ड पद्धत: फाईल एका वेळी एक ओळ याप्रमाणे प्रोसेस करा.

हा फरक इंजिनिअरिंग फिलॉसॉफीचा (engineering philosophy) आहे.

अधिक संसाधने जोडणे हा एक तात्पुरता उपाय आहे. यामुळे नाजूक (fragile) सॉफ्टवेअर तयार होते. मर्यादांचा वापर करून डिझाइन केल्यास मजबूत (robust) सॉफ्टवेअर तयार होते.

ऑप्टिमायझेशन म्हणजे केवळ वेग वाढवणे नव्हे. तर आपल्या संसाधनांबाबत जागरूक असणे होय.

जेव्हा तुम्ही कोड लिहिता, तेव्हा स्वतःला विचारा:

उत्तम सॉफ्टवेअर शिस्तीतून येते.

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