പ്രോഗ്രാമിംഗ് ഭാഷയായ ഗോയുടെ പുതിയ പതിപ്പിന്റെ പ്രിവ്യൂ ഗൂഗിൾ പുറത്തിറക്കി. 'പാരാമീറ്ററൈസ്ഡ്' തരങ്ങൾ എന്ന് വിളിക്കപ്പെടുന്ന 'ജനറിക്' പ്രോഗ്രാമിംഗിനായുള്ള പ്രവർത്തനക്ഷമത പതിപ്പ് 1.18 ചേർക്കുന്നു.
അവരുടെ തന്നെ വാക്കുകളിൽ പറഞ്ഞാൽ, Go പതിപ്പ് 1 പുറത്തിറങ്ങിയതിനുശേഷം പ്രോഗ്രാമിംഗ് ഭാഷയിലുണ്ടായ ഏറ്റവും പ്രധാനപ്പെട്ടതും വലുതുമായ മാറ്റമാണിത്. തരങ്ങൾ പരിഷ്ക്കരിക്കുന്നതിലൂടെ ഫംഗ്ഷനുകളെയും ഡാറ്റാ ഘടനകളെയും പ്രതിനിധീകരിക്കുന്നതിനുള്ള പ്രവർത്തനത്തെ ഇത് ഇപ്പോൾ അനുവദിക്കുന്നു എന്നതാണ് ജനറിക്സിന്റെ പിന്നിലെ ആശയം. ഒരു ഫംഗ്ഷനിലേക്ക് കൊണ്ടുവരുന്ന യഥാർത്ഥ ഡാറ്റയെ അമൂർത്തമാക്കുന്നതിനുള്ള ഒരു മാർഗമായി ഒരു ഇന്റർഫേസ് തരം നിർവചിക്കുന്നതിലൂടെ അനുവദിക്കുന്ന 'പൊതുത്വം' ഇത് ഒഴിവാക്കുന്നു.
ഈ പ്രവർത്തനം തീർച്ചയായും പുതിയ ബഗുകളിലേക്ക് നയിക്കുമെന്ന് Go ഡെവലപ്പർമാർ മനസ്സിലാക്കണമെന്ന് Google സൂചിപ്പിക്കുന്നു. അതിനാൽ അവർ ഈ 'ജനറിക്'സിനെ ജാഗ്രതയോടെ സമീപിക്കണം.
Go 1.18 ബീറ്റയിലെ മറ്റ് പ്രവർത്തനങ്ങൾ
മേൽപ്പറഞ്ഞ പ്രവർത്തനത്തിന് പുറമേ, പുതിയ പ്രിവ്യൂവിന് ഫസ്സിംഗ് അടിസ്ഥാനമാക്കിയുള്ള ടെസ്റ്റുകൾ എഴുതുന്നതിനുള്ള ബിൽറ്റ്-ഇൻ പിന്തുണയും ഉണ്ട്. പ്രോഗ്രാമുകൾ തകരാറിലാകുന്നതോ അസാധുവായ ഉത്തരങ്ങൾ നൽകുന്നതോ ആയ ഇൻപുട്ടുകൾ ഈ ടെസ്റ്റുകൾക്ക് സ്വയമേവ കണ്ടെത്താനാകും. Go 1.18 ബീറ്റ ഒരു പുതിയ 'Go വർക്ക്സ്പേസ് മോഡും' വാഗ്ദാനം ചെയ്യുന്നു. ഇത് പ്രോഗ്രാമർമാരെ ഒന്നിലധികം ഗോ മൊഡ്യൂളുകളിൽ ഒരേസമയം പ്രവർത്തിക്കാൻ അനുവദിക്കുന്നു. ഗൂഗിൾ പറയുന്നതനുസരിച്ച്, വലിയ പദ്ധതികൾക്ക് ഇത് പ്രത്യേകിച്ചും ഉപയോഗപ്രദമാണ്.
കൂടാതെ, പതിപ്പ് 1.18 ബീറ്റ വിപുലീകൃത ഗോ പതിപ്പ് -m കമാൻഡ് ഉപയോഗിച്ച് പ്രവർത്തനക്ഷമത ചേർക്കുന്നു. ഈ കമാൻഡ് ഇപ്പോൾ വിശദാംശങ്ങൾ കംപൈലർ ഫ്ലാഗുകളായി സംഭരിക്കുന്നു. ഡീബഗ്.ReadBuildInfo എന്ന കമാൻഡ് ഉപയോഗിച്ച് ഒരു പ്രോഗ്രാമിന് ഇപ്പോൾ സ്വന്തം ബിൽഡ് വിശദാംശങ്ങൾ അന്വേഷിക്കാനാകും.
കൂടാതെ, Go 1.17 മുതൽ ലഭ്യമായ കൂടുതൽ രജിസ്റ്റർ അടിസ്ഥാനമാക്കിയുള്ള കോളിംഗ് കൺവെൻഷനും പ്രിവ്യൂവിൽ ചേർത്തിട്ടുണ്ട്. മുൻ പതിപ്പിൽ, x86, x64 സിസ്റ്റങ്ങളിൽ Go കോഡ് വേഗത്തിലാക്കാൻ മാത്രമേ ഈ പ്രവർത്തനം അനുയോജ്യമായിരുന്നുള്ളൂ, ഇപ്പോൾ ARM64, PPC64 അടിസ്ഥാനമാക്കിയുള്ള സിസ്റ്റങ്ങൾക്കും ഇത് അനുയോജ്യമാണ്. ഇത് 20 ശതമാനം വരെ കൂടുതൽ വേഗത നൽകണം.