Siideynta luuqada barnaamijka Go 1.15

Soo gudbiyey sii daynta luqadda barnaamijka Tag 1.15, kaas oo ay samaynayso Google oo ay bulshadu ka qayb qaadanayso sidii xal isku dhaf ah oo isku dhafan waxqabadka sare ee luuqadaha la soo ururiyey iyo faa'iidooyinka qoraallada luuqadaha sida fududaynta code-qorista, xawaaraha horumarka iyo ilaalinta khaladaadka. Koodhka mashruuca qaybiyey hoos yimaada shatiga BSD.

Go's syntax waxay ku salaysan tahay walxaha la yaqaan ee luqadda C oo leh xoogaa amaah ah oo laga soo qaatay luqadda Python. Luqadda waa mid kooban, laakiin koodka waa sahlan tahay in la akhriyo lana fahmo. Go code waxa lagu soo ururiyey hawl-fulinyaal binary keligiis ah oo si asal ahaan u shaqeeya iyada oo aan la isticmaalin mashiinka farsamada (profiling, debugging, iyo nidaamyada kale ee ogaanshaha dhibaatada runtime ayaa la isku daray sida qaybaha runtime), kaas oo kuu ogolaanaya inaad gaadho waxqabad u dhigma barnaamijyada C.

Mashruucu waxaa markii hore lagu hormariyay iyadoo isha lagu hayo barnaamijyo isku xiran iyo hawlgal hufan oo lagu sameeyo nidaamyada asaasiga ah, oo ay ku jiraan bixinta habab laga hirgeliyay heerka hawlwadeenka ee abaabulka xisaabinta barbar-dhigga iyo isdhexgalka ka dhexeeya hababka barbar socda. Luqadda ayaa sidoo kale bixisa ka-hortag dhismeed ka dhan ah xad-dhaafka ah ee blocks xusuusta loo qoondeeyey oo waxay siisaa awoodda isticmaalka ururiyaha qashinka.

Main wax cusublagu soo bandhigay Go 1.15 siideynta:

  • Shaqada iskuxiraha ayaa si weyn loo hagaajiyay, labadaba kordhinta xawaaraha hawlgalka iyo yaraynta isticmaalka xusuusta, iyo jihada fududaynta ilaalinta koodhka. Marka lagu tijaabiyo nidaamyada hawlgalka iyadoo la adeegsanayo qaabka faylka ELF la fulin karo (Linux, FreeBSD, NetBSD, OpenBSD, Dragonfly, Solaris), qayb caadi ah oo codsiyada Go waaweyn ayaa la dhisay 20% dhakhso ah, isticmaalka xusuusta ayaa la dhimay celcelis ahaan 30%. Kordhinta wax soo saarka ayaa la suurtageliyay iyada oo loo beddelay qaab cusub oo faylka shay iyo dib-u-shaqeynta marxaladaha gudaha si loo kordhiyo heerka isbarbardhigga shaqada. Xiriiriyaha asalka ah waxaa hadda si caadi ah loogu isticmaalaa nidaamyada linux/amd64 iyo linux/arm64 ee "-buildmode=pie", kaas oo aan u baahnayn isticmaalka xiriiriyaha C.
  • Wakhtiga runtime, qaybinta walxaha yaryar ee nidaamyada leh tiro badan oo ah xudunta CPU si weyn ayaa loo hagaajiyay waxaana la dhimay daahida. Haddii ay dhacdo guuldarro, qiyamka leh noocyada tirooyinka iyo xargaha ayaa la soo bandhigayaa halkii laga muujin lahaa ciwaanka. Markaad direyso calaamadaha SIGSEGV, SIGBUS iyo SIGFPE arjiga Go, maqnaanshaha os/signal. Ogeysii maamulaha, arjigu wuxuu la bixi doonaa soo saarista raad raac (horey u dhaqanku ahaa mid aan la saadaalin karin).
  • Isku-duwaha ayaa la hagaajiyay si loo dhimo cabbirka faylalka la fulin karo ee la soo saaray celcelis ahaan 5% iyadoo la joojinayo ku darida qaar ka mid ah xogta badan ee ururiyaha qashinka iyo nadiifinta xooggan ee xogta badan ee aan la isticmaalin.
  • Calankii "-spectre" ayaa lagu daray isku-duwaha iyo isu-duwaha si ay awood ugu yeelato ka-hortagga weerarrada fasalka Specter (barnaamijyada intooda badan tan looma baahna; awood-siinta ikhtiyaarka waxaa lagu caddayn karaa oo keliya kiisas gaar ah oo gaar ah).
  • Shahaadooyinka X.509, goobta CommonName waa la joojiyay, taas oo aan hadda loola dhaqmin sidii magaca martida loo yahay haddii mawduuca Magacyada Beddelka ah uu maqan yahay.
  • Amarka "go" ee ku jira doorsoomiyaha deegaanka ee GOPROXY hadda waxa uu qori karaa wakiilo badan, oo ay u kala baxaan comma ama "|". Haddii wakiilkii ugu horreeyay ee liisku uu soo celiyo khalad (404 ama 410), markaa waxa la isku dayi doonaa in lala xidhiidho wakiilka labaad, iwm.
  • Utility xayawaanka ayaa ku daray digniin ku saabsan isku dayga in laga beddelo xargaha (x) haddii "x" uu yahay nooc ka duwan rune ama byte.
  • Calanka "-gnu" ayaa lagu daray utility objdump si ay u taageerto kala dirida isku duwaha GNU
  • Xidhmo cusub ayaa lagu daray waqtiga / tzdata, kaas oo kuu ogolaanaya inaad ku darto xogta xogta iyo xogta aagga wakhtiga barnaamijka.
  • Laga soo bilaabo qoraallada ilaha iyo dukumentiyada laga saaray odhaahyada liiska cad-cad/liiska madow iyo sayid/addoon, kuwaas oo hadda lagu beddelay "liis oggol", "liiska xannibaadda", "habraaca", "pty", "proc" iyo "control".
  • Qayb weyn oo ka mid ah hagaajinta yaryar ayaa lagu sameeyay maktabadda caadiga ah.
  • Taageero lagu daray OpenBSD 6.7 ee GOARCH=gacan iyo GOARCH=arm64 qaababka (horay kaliya GOARCH=386 iyo GOARCH=amd64 ayaa la taageeray).
  • Horumarka 64-bit RISC-V platform (GOOS=linux, GOARCH=riscv64) ayaa sii socday.
  • Nidaamyada 32-bit x86, sii deynta xigta waxay kor u qaadi doontaa shuruudaha nidaamka ugu yar - kaliya soo-saareyaasha leh SSE2 ayaa sii wadi doona in la taageero. Si aad u dhisto qaabka GOARCH=386 waxaad u baahan doontaa ugu yaraan Intel Pentium 4 (oo la sii daayay 2000) ama AMD Opteron/Athlon 64 (oo la sii daayay 2003).

Source: opennet.ru

Add a comment