ನಾವು ಶುದ್ಧ ಆಪ್ಟಿಮೈಸೇಶನ್ ಕಲೆಯನ್ನ ಕಳೆದುಕೊಂಡಿದ್ದೇವೆಯೇ?

ಆರಂಭಿಕ ಇಂಜಿನಿಯರ್‌ಗಳು ಅತ್ಯಲ್ಪ ಮಿತಿಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದರು. ಅಪೊಲೊ ಗೈಡೆನ್ಸ್ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ ಕೇವಲ 2KB RAM ಇತ್ತು. ಪ್ರತಿಯೊಂದು ಬಿಟ್ ಕೂಡ ಮುಖ್ಯವಾಗಿತ್ತು. ಪ್ರತಿಯೊಂದು CPU ಸೈಕಲ್ ಕೂಡ ಅತ್ಯಗತ್ಯವಾಗಿತ್ತು.

ಇಂದು, ನಮ್ಮ ಬಳಿ ಗಿಗಾಬೈಟ್‌ಗಳಷ್ಟು ಮೆಮೊರಿ ಇದೆ. ನಾವು ಹೆಚ್ಚಾಗಿ ಹೆಚ್ಚಿನ ಹಾರ್ಡ್‌ವೇರ್ ಅನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುತ್ತೇವೆ. ಕೋಡ್ ನಿಧಾನವಾಗಿದ್ದರೆ ಅಥವಾ ಭಾರವಾಗಿದ್ದರೆ, ನಾವು ಹೆಚ್ಚಿನ RAM ಅನ್ನು ಸೇರಿಸುತ್ತೇವೆ. ಈ ಅಭ್ಯಾಸವು ನಮ್ಮಲ್ಲಿರುವ ಶುದ್ಧ ಆಪ್ಟಿಮೈಸೇಶನ್ ಕೌಶಲ್ಯವನ್ನು ಕಳೆದುಕೊಳ್ಳುವಂತೆ ಮಾಡುತ್ತದೆ.

ಮಿತಿಗಳ (constraints) ಬಗ್ಗೆ ಯೋಚಿಸುವ ಮೂಲಕ ನೀವು ಉತ್ತಮ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ಬರೆಯಬಹುದು.

Python ನಲ್ಲಿ ನೀವು ದೊಡ್ಡ ಪಠ್ಯ ಫೈಲ್ ಅನ್ನು ಹೇಗೆ ಪ್ರೊಸೆಸ್ ಮಾಡುತ್ತೀರಿ ಎಂಬುದನ್ನು ಗಮನಿಸಿ.

ಸಾಮಾನ್ಯ ವಿಧಾನ: ಅನೇಕ ಡೆವಲಪರ್‌ಗಳು ಇಡೀ ಫೈಲ್ ಅನ್ನು ಒಂದೇ ಬಾರಿಗೆ ಮೆಮೊರಿಗೆ ಓದುತ್ತಾರೆ.

ಆಪ್ಟಿಮೈಸ್ ಮಾಡಿದ ವಿಧಾನ: ಫೈಲ್ ಅನ್ನು ಪ್ರತಿ ಬಾರಿಗೆ ಒಂದು ಸಾಲಿನಂತೆ ಪ್ರೊಸೆಸ್ ಮಾಡಿ.

ಈ ವ್ಯತ್ಯಾಸವು ಇಂಜಿನಿಯರಿಂಗ್ ತತ್ವದ (philosophy) ಬಗ್ಗೆಯಾಗಿದೆ.

ಹೆಚ್ಚಿನ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಸೇರಿಸುವುದು ತಾತ್ಕಾಲಿಕ ಪರಿಹಾರವಾಗಿದೆ. ಇದು ದುರ್ಬಲವಾದ (fragile) ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ. ನಿಮ್ಮ ವಿನ್ಯಾಸವನ್ನು (design) ರೂಪಿಸಲು ಮಿತಿಗಳನ್ನು ಬಳಸುವುದರಿಂದ ಬಲಿಷ್ಠವಾದ (robust) ಸಾಫ್ಟ್‌ವೇರ್ ಸೃಷ್ಟಿಯಾಗುತ್ತದೆ.

ಆಪ್ಟಿಮೈಸೇಶನ್ ಎಂದರೆ ಕೇವಲ ವೇಗದ ಬಗ್ಗೆ ಮಾತ್ರವಲ್ಲ. ಇದು ನಿಮ್ಮ ಸಂಪನ್ಮೂಲಗಳ ಬಗ್ಗೆ ಜಾಗರೂಕತೆಯಿಂದ ಇರುವುದರ ಬಗ್ಗೆಯಾಗಿದೆ.

ನೀವು ಕೋಡ್ ಬರೆಯುವಾಗ, ನಿಮ್ಮನ್ನು ನೀವೇ ಕೇಳಿಕೊಳ್ಳಿ:

ಉತ್ತಮ ಸಾಫ್ಟ್‌ವೇರ್ ಶಿಸ್ತಿನಿಂದ ಬರುತ್ತದೆ.

ಮೂಲ: https://dev.to/prabashanadev/have-we-lost-the-art-of-pure-optimization-31b9