ഡാറ്റാ മാപ്പിംഗ് മെച്ചപ്പെടുത്താൻ നെസ്റ്റിംഗ് ഒഴിവാക്കൂ
നെസ്റ്റഡ് ലൂപ്പുകൾ (Nested loops) നിങ്ങളുടെ കോഡിന്റെ വേഗത കുറയ്ക്കുന്നു.
ഓരോന്നിലും 1,000 ഐറ്റങ്ങൾ വീതമുള്ള രണ്ട് ലിസ്റ്റുകൾ ഉണ്ടെങ്കിൽ, ഒരു നെസ്റ്റഡ് ലൂപ്പ് 1,000,000 ഓപ്പറേഷനുകൾ നടത്തുന്നു. ഇത് നിങ്ങളുടെ വേഗതയെ സാരമായി ബാധിക്കുന്നു.
സാവധാനത്തിലുള്ള രീതി: ഒരു ലിസ്റ്റിനുള്ളിൽ മറ്റൊരു ലിസ്റ്റിലൂടെ നിങ്ങൾ ലൂപ്പ് ചെയ്യുന്നു. ഡാറ്റ വർദ്ധിക്കുന്നതിനനുസരിച്ച് നിങ്ങളുടെ കമ്പ്യൂട്ടർ അമിതമായി ജോലി ചെയ്യേണ്ടി വരുന്നു.
വേഗതയേറിയ രീതി: ഒരു Map അല്ലെങ്കിൽ ഒരു ലുക്കപ്പ് ഒബ്ജക്റ്റ് (lookup object) ഉപയോഗിക്കുക.
ആദ്യം ഒരു ലിസ്റ്റിനെ ഒരു Map ആക്കി മാറ്റുക. അതിനുശേഷം രണ്ടാമത്തെ ലിസ്റ്റിലൂടെ ഒരു തവണ മാത്രം ലൂപ്പ് ചെയ്യുക. ഇത് നിങ്ങളുടെ ജോലി ദശലക്ഷക്കണക്കിന് ഓപ്പറേഷനുകളിൽ നിന്ന് ഏതാനും ആയിരങ്ങളിലേക്ക് കുറയ്ക്കുന്നു.
എന്തുകൊണ്ടാണ് നിങ്ങൾ ഈ രീതി മാറ്റേണ്ടത്:
- പെർഫോമൻസ് (Performance): വലിയ ഡാറ്റാസെറ്റുകൾ ഉണ്ടെങ്കിലും നിങ്ങളുടെ ആപ്പ് വേഗത നിലനിർത്തുന്നു.
- സ്കെയിലബിലിറ്റി (Scalability): ഉപയോക്താക്കളുടെ എണ്ണം കൂടുമ്പോഴും നിങ്ങളുടെ കോഡ് വേഗത നിലനിർത്തുന്നു.
- മെയിന്റനബിലിറ്റി (Maintainability): വൃത്തിയുള്ള കോഡ് വായിക്കാനും പിഴവുകൾ തിരുത്താനും എളുപ്പമാണ്.
മാപ്പിംഗിനായി നെസ്റ്റഡ് ലൂപ്പുകൾ ഉപയോഗിക്കുന്നത് നിർത്തുക. പകരം ഹാഷ് മാപ്പുകൾ (hash maps) ഉപയോഗിക്കുക. ഇത് നിങ്ങളുടെ സോഫ്റ്റ്വെയർ വേഗതയുള്ളതും കാര്യക്ഷമവുമാക്കുന്നു.
സ്രോതസ്സ്: https://dev.to/jehadurre/stop-nesting-how-to-optimize-your-data-mapping-performance-4p1j