గో ప్రోగ్రామింగ్ లాంగ్వేజ్ విడుదల 1.15

సమర్పించిన వారు ప్రోగ్రామింగ్ భాష విడుదల 1.15 కి వెళ్ళండి, ఇది సంకలనం చేయబడిన భాషల యొక్క అధిక పనితీరును స్క్రిప్టింగ్ భాషల ప్రయోజనాలతో కూడిన కోడ్‌ను వ్రాయడం సౌలభ్యం, అభివృద్ధి వేగం మరియు దోష రక్షణ వంటి ప్రయోజనాలతో కూడిన హైబ్రిడ్ పరిష్కారంగా సంఘం భాగస్వామ్యంతో Google చే అభివృద్ధి చేయబడుతోంది. ప్రాజెక్ట్ కోడ్ ద్వారా పంపిణీ చేయబడింది BSD లైసెన్స్ కింద.

గో యొక్క వాక్యనిర్మాణం పైథాన్ భాష నుండి కొన్ని అరువులతో సి భాష యొక్క సుపరిచితమైన మూలకాలపై ఆధారపడి ఉంటుంది. భాష చాలా సంక్షిప్తంగా ఉంది, కానీ కోడ్ చదవడం మరియు అర్థం చేసుకోవడం సులభం. గో కోడ్ వర్చువల్ మెషీన్‌ను ఉపయోగించకుండా స్థానికంగా అమలు చేసే స్టాండ్-ఏలోన్ బైనరీ ఎక్జిక్యూటబుల్స్‌లో కంపైల్ చేయబడింది (ప్రొఫైలింగ్, డీబగ్గింగ్ మరియు ఇతర రన్‌టైమ్ ప్రాబ్లమ్ డిటెక్షన్ సబ్‌సిస్టమ్‌లు ఇలా ఏకీకృతం చేయబడ్డాయి రన్‌టైమ్ భాగాలు), ఇది C ప్రోగ్రామ్‌లతో పోల్చదగిన పనితీరును సాధించడానికి మిమ్మల్ని అనుమతిస్తుంది.

ప్రాజెక్ట్ ప్రారంభంలో బహుళ-థ్రెడ్ ప్రోగ్రామింగ్ మరియు బహుళ-కోర్ సిస్టమ్‌లపై సమర్థవంతమైన ఆపరేషన్‌ను దృష్టిలో ఉంచుకుని, సమాంతర కంప్యూటింగ్‌ను నిర్వహించడానికి ఆపరేటర్-స్థాయి మార్గాలను అందించడం మరియు సమాంతర-ఎగ్జిక్యూటెడ్ పద్ధతుల మధ్య పరస్పర చర్యతో సహా అభివృద్ధి చేయబడింది. భాష ఎక్కువగా కేటాయించిన మెమరీ బ్లాక్‌లకు వ్యతిరేకంగా అంతర్నిర్మిత రక్షణను అందిస్తుంది మరియు చెత్త కలెక్టర్‌ను ఉపయోగించగల సామర్థ్యాన్ని అందిస్తుంది.

ప్రధాన ఆవిష్కరణలుGo 1.15 విడుదలలో పరిచయం చేయబడింది:

  • లింకర్ యొక్క పని గణనీయంగా మెరుగుపడింది, ఆపరేషన్ వేగాన్ని పెంచడం మరియు మెమరీ వినియోగాన్ని తగ్గించడం మరియు కోడ్ నిర్వహణను సరళీకృతం చేసే దిశలో. ELF ఎక్జిక్యూటబుల్ ఫైల్ ఫార్మాట్ (Linux, FreeBSD, NetBSD, OpenBSD, Dragonfly, Solaris) ఉపయోగించి ఆపరేటింగ్ సిస్టమ్‌లపై పరీక్షించినప్పుడు, పెద్ద గో అప్లికేషన్‌ల యొక్క సాధారణ సెట్ 20% వేగంగా నిర్మించబడింది మరియు మెమరీ వినియోగం సగటున 30% తగ్గింది. కొత్త ఆబ్జెక్ట్ ఫైల్ ఫార్మాట్‌కు మారడం మరియు పని యొక్క సమాంతరీకరణ స్థాయిని పెంచడానికి అంతర్గత దశలను మళ్లీ పని చేయడం ద్వారా పెరిగిన ఉత్పాదకత సాధ్యమైంది. స్థానిక లింకర్ ఇప్పుడు "-buildmode=pie"లో linux/amd64 మరియు linux/arm64 సిస్టమ్‌లలో డిఫాల్ట్‌గా ఉపయోగించబడుతుంది, దీనికి ఇకపై C లింకర్‌ని ఉపయోగించడం అవసరం లేదు.
  • రన్‌టైమ్‌లో, పెద్ద సంఖ్యలో CPU కోర్లు ఉన్న సిస్టమ్‌లపై చిన్న వస్తువుల పంపిణీ గణనీయంగా మెరుగుపరచబడింది మరియు జాప్యం తగ్గించబడింది. వైఫల్యాల విషయంలో, చిరునామాను చూపించడానికి బదులుగా సంఖ్యా మరియు స్ట్రింగ్ రకాలతో విలువలు ప్రదర్శించబడతాయి. Go అప్లికేషన్‌కు SIGSEGV, SIGBUS మరియు SIGFPE సిగ్నల్‌లను పంపుతున్నప్పుడు, os/signal.నోటిఫై హ్యాండ్లర్ లేనప్పుడు, అప్లికేషన్ స్టాక్ ట్రేస్ అవుట్‌పుట్‌తో నిష్క్రమిస్తుంది (గతంలో ప్రవర్తన ఊహించలేనిది).
  • చెత్త సేకరించేవారి కోసం కొంత మెటాడేటాను చేర్చడం మరియు ఉపయోగించని మెటాడేటాను మరింత దూకుడుగా శుభ్రపరచడం ద్వారా ఉత్పత్తి చేయబడిన ఎక్జిక్యూటబుల్ ఫైల్‌ల పరిమాణాన్ని సగటున 5% తగ్గించడానికి కంపైలర్ ఆప్టిమైజ్ చేయబడింది.
  • స్పెక్టర్ క్లాస్ దాడుల నుండి రక్షణను ప్రారంభించడానికి “-స్పెక్ట్రే” ఫ్లాగ్ కంపైలర్ మరియు అసెంబ్లర్‌కు జోడించబడింది (చాలా ప్రోగ్రామ్‌లకు ఇది అవసరం లేదు; ఎంపికను ప్రారంభించడం మాత్రమే సమర్థించబడుతుంది కొన్ని నిర్దిష్ట కేసులు).
  • X.509 సర్టిఫికేట్‌లలో, కామన్‌నేమ్ ఫీల్డ్ నిలిపివేయబడింది, సబ్జెక్ట్ ఆల్టర్నేటివ్ నేమ్స్ ఫీల్డ్ తప్పిపోయినట్లయితే ఇది హోస్ట్ పేరుగా పరిగణించబడదు.
  • GOPROXY ఎన్విరాన్మెంట్ వేరియబుల్‌లోని "go" కమాండ్ ఇప్పుడు కామా లేదా "|"తో వేరు చేయబడిన బహుళ ప్రాక్సీలను జాబితా చేయగలదు. జాబితాలోని మొదటి ప్రాక్సీ లోపాన్ని (404 లేదా 410) అందజేస్తే, రెండవ ప్రాక్సీ మొదలైన వాటి ద్వారా సంప్రదించడానికి ప్రయత్నం చేయబడుతుంది.
  • "x" అనేది రూన్ లేదా బైట్ కాకుండా పూర్ణాంకం రకం అయితే స్ట్రింగ్(x) నుండి మార్చడానికి ప్రయత్నించడం గురించి వెట్ యుటిలిటీ హెచ్చరికను జోడించింది.
  • GNU అసెంబ్లర్ సింటాక్స్‌ను విడదీయడానికి మద్దతు ఇవ్వడానికి "-gnu" ఫ్లాగ్ objdump యుటిలిటీకి జోడించబడింది.
  • కొత్త ప్యాకేజీ జోడించబడింది సమయం/tzdata, ఇది ప్రోగ్రామ్‌లో టైమ్ జోన్ డేటాతో డేటాబేస్‌ను ఏకీకృతం చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
  • మూల గ్రంథాలు మరియు డాక్యుమెంటేషన్ నుండి తొలగించబడింది వైట్‌లిస్ట్/బ్లాక్‌లిస్ట్ మరియు మాస్టర్/స్లేవ్ అనే పదబంధాలు ఇప్పుడు "అనుమతించిన జాబితా", "బ్లాక్‌లిస్ట్", "ప్రాసెస్", "pty", "proc" మరియు "నియంత్రణ" ద్వారా భర్తీ చేయబడ్డాయి.
  • స్టాండర్డ్ లైబ్రరీకి చాలా చిన్న మెరుగుదలలు చేయబడ్డాయి.
  • GOARCH=arm మరియు GOARCH=arm6.7 మోడ్‌లలో OpenBSD 64కి మద్దతు జోడించబడింది (గతంలో GOARCH=386 మరియు GOARCH=amd64 మాత్రమే మద్దతిచ్చేవి).
  • 64-బిట్ RISC-V ప్లాట్‌ఫారమ్ (GOOS=linux, GOARCH=riscv64) అభివృద్ధి కొనసాగింది.
  • 32-బిట్ x86 సిస్టమ్‌ల కోసం, తదుపరి విడుదల కనీస సిస్టమ్ అవసరాలను పెంచుతుంది - SSE2తో ప్రాసెసర్‌లకు మాత్రమే మద్దతు కొనసాగుతుంది. GOARCH=386 మోడ్‌లో నిర్మించడానికి మీకు కనీసం ఇంటెల్ పెంటియమ్ 4 (2000లో విడుదలైంది) లేదా AMD ఆప్టెరాన్/అథ్లాన్ 64 (2003లో విడుదలైంది) అవసరం.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి