શું આપણે શુદ્ધ ઓપ્ટિમાઇઝેશનની કળા ગુમાવી દીધી છે?

શરૂઆતના એન્જિનિયરો ખૂબ જ મર્યાદિત ક્ષમતા સાથે કામ કરતા હતા. Apollo Guidance Computer માં માત્ર 2KB RAM હતી. દરેક બીટ (bit) મહત્વની હતી. દરેક CPU સાયકલ અત્યંત જરૂરી હતી.

આજે, આપણી પાસે ગીગાબાઇટ્સ (gigabytes) મેમરી છે. આપણે ઘણીવાર વધુ હાર્ડવેર ઉમેરીને સમસ્યાઓનો ઉકેલ લાવીએ છીએ. જો કોડ ધીમો અથવા ભારે હોય, તો આપણે વધુ RAM ઉમેરીએ છીએ. આ આદતને કારણે આપણે શુદ્ધ ઓપ્ટિમાઇઝેશનની કુશળતા ગુમાવી રહ્યા છીએ.

તમે મર્યાદાઓ (constraints) વિશે વિચારીને વધુ સારું સોફ્ટવેર લખી શકો છો.

જુઓ કે તમે Python માં મોટી ટેક્સ્ટ ફાઇલ કેવી રીતે પ્રોસેસ કરો છો.

સામાન્ય રીત: ઘણા ડેવલપર્સ એકસાથે આખી ફાઇલ મેમરીમાં વાંચી લે છે.

ઓપ્ટિમાઇઝ્ડ રીત: ફાઇલને એક સમયે એક લાઇન તરીકે પ્રોસેસ કરો.

આ તફાવત એન્જિનિયરિંગ ફિલોસોફી વિશે છે.

વધુ રિસોર્સિસ ઉમેરવા એ કામચલાઉ ઉકેલ છે. તે નાજુક (fragile) સોફ્ટવેર બનાવે છે. તમારી ડિઝાઇનને ચલાવવા માટે મર્યાદાઓનો ઉપયોગ કરવાથી મજબૂત (robust) સોફ્ટવેર બને છે.

ઓપ્ટિમાઇઝેશન માત્ર ઝડપ વિશે નથી. તે તમારા રિસોર્સિસ પ્રત્યે સભાન રહેવા વિશે છે.

જ્યારે તમે કોડ લખો છો, ત્યારે તમારી જાતને પૂછો:

વધુ સારું સોફ્ટવેર શિસ્તમાંથી આવે છે.

સ્ત્રોત: https://dev.to/prabashanadev/have-we-lost-the-art-of-pure-optimization-31b9