Ukukhutshwa kolwimi lwenkqubo yeGo 1.14

Yaziswa ukukhutshwa kolwimi lwenkqubo Yiya kwi-1.14, ephuhliswa nguGoogle ngokuthatha inxaxheba koluntu njengesisombululo esidibeneyo esidibanisa ukusebenza okuphezulu kweelwimi ezihlanganisiweyo kunye nezibonelelo zeelwimi zokubhala ezifana nokulula kwekhowudi yokubhala, isantya sophuhliso kunye nokukhusela iimpazamo. Ikhowudi yeprojekthi isasazwa ngu phantsi kwelayisensi ye-BSD.

Isivakalisi sikaGo sisekwe kwizinto eziqhelekileyo zolwimi lwe-C kunye nokubolekwa kulwimi lwePython. Ulwimi lufutshane, kodwa ikhowudi ifundeka lula kwaye iqondwe. Ikhowudi yokuya iqokelelwe kwi-stand-yodwa yokubini ephunyeziweyo esebenza ngokwemveli ngaphandle kokusebenzisa umatshini wenyani (iprofayili, ukulungisa ingxaki, kunye nezinye iindlela zokubona ingxaki yexesha lokusebenza zidityaniswe njenge Amacandelo exesha lokusebenza), ekuvumela ukuba ufezekise ukusebenza ngokuthelekiswa neenkqubo zeC.

Iprojekthi iqale iphuhliswe ngeso kwiprogram ye-multi-threaded kunye nokusebenza ngokufanelekileyo kwiinkqubo ezininzi ezingundoqo, kubandakanywa nokubonelela ngeendlela zomgangatho womqhubi wokuququzelela i-computing ehambelanayo kunye nokusebenzisana phakathi kweendlela eziqhutywe ngokuhambelanayo. Ulwimi lukwabonelela ngokhuseleko olwakhelwe ngaphakathi kwiibhloko zememori ezabiwe ngokugqithisileyo kwaye lubonelela ngokukwazi ukusebenzisa umqokeleli wenkunkuma.

Siseko ezintshayaziswe kukhupho lweGo 1.14:

  • Isixokelelwano semodyuli entsha kumyalelo othi "hamba" ibhengezwe ilungele ukusetyenziswa ngokubanzi, yenziwe ngokuzenzekelayo, kwaye iyacetyiswa kulawulo lokuxhomekeka endaweni yeGOPATH. Inkqubo entsha yemodyuli inenkxaso yoguqulelo oluhlanganisiweyo, amandla okuhanjiswa kwephakheji, kunye nokuphuculwa kolawulo lokuxhomekeka. Ngeemodyuli, abaphuhlisi abasabotshelelwanga ekusebenzeni ngaphakathi komthi weGOPATH, banokuchaza ngokucacileyo ukuxhomekeka okuguqulelweyo, kwaye benze ulwakhiwo oluphinda-phindayo.
  • Yongeziwe inkxaso yokufakela ujongano oluneseti ezidlulanayo zeendlela. Iindlela ezisuka kwi-interface eyakhelwe-ngaphakathi ngoku zinokuba namagama afanayo kunye neesignesha njengeendlela kujongano olukhoyo. Iindlela ezichazwe ngokucacileyo zihlala zodwa njengangaphambili.
  • Ukusebenza kwebinzana elithi "defer" liphuculwe, liyenza ikhawuleze njengokubiza umsebenzi omisiweyo ngokuthe ngqo, ivumela uphumezo olumisiweyo lomsebenzi kwikhowudi enovakalelo.
  • I-asynchronous preemption ye-coroutines (i-goroutines) inikeziwe - iilophu ezingaqulathanga iminxeba esebenzayo ngoku zinokukhokelela kukuvalwa komcwangcisi okanye ukulibazisa ukuqalisa kokuqokelelwa kwenkunkuma.
  • Ukusebenza kakuhle kwenkqubo yokunikezelwa kwekhasi lememori kuye kwaphuculwa kwaye ngoku kukho iingxabano ezincinci zokukhiya kwimimiselo kunye namaxabiso amakhulu e-GOMAXPROCS. Isiphumo sinciphisa i-latency kunye nokunyuka kwe-throughput ngelixa kwangaxeshanye kusasazwa kakhulu iibhloko zememori.
  • Ukutshixa kuye kwaphuculwa kwaye inani lokutshintsha komxholo lincitshisiwe xa kusetyenziswa izibali-xesha zangaphakathi ezisetyenziswe kwixesha.Emva, ixesha.Tick, net.Conn.SetDeadline.
  • Kumyalelo wokuhamba, i-"-mod=vendor" iflegi yenziwe ngokungagqibekanga ukuba kukho isilawuli somthengisi kwingcambu, elungiselelwe ukunikezela ngokuxhomekeka kwangaphandle okubotshelelwe kumthengisi othile. Kongezwe enye "-mod=mod" iflegi ukulayisha iimodyuli ezisuka kwicache yemodyuli kunokusuka kuluhlu "lomthengisi". Ukuba ifayile ye-go.mod ifundeka kuphela, iflegi "-mod=readonly" isetwa ngokungagqibekanga ukuba akukho luhlu luphezulu "lomthengisi". Yongezwe "-modfile=ifayile" iflegi yokuchaza enye ifayile ye-go.mod endaweni yaleyo ikuluhlu lweengcambu zemodyuli.
  • Yongeza iGOINSECURE imo eguquguqukayo, xa isetyenzisiwe, umyalelo wokuhamba awufuni ukusetyenziswa kweHTTPS kunye nokutsiba isiqinisekiso xa ulayisha iimodyuli ngokuthe ngqo.
  • Umqambi wongeze iflegi "-d=checkptr", enikwe amandla ngokungagqibekanga, ukujonga ikhowudi yokuthotyelwa kwemigaqo yokusetyenziswa ngokukhuselekileyo kwe-unsafe.Pointer.
  • Iphakheji entsha ibandakanyiwe ekuhanjisweni hash/maphash ngemisebenzi ye-hash engeyiyo i-cryptographic ukwenza iitafile ze-hash zolandelelwano lwe-byte olungenasizathu okanye imitya.
  • Inkxaso yovavanyo eyongeziweyo yeqonga le-64-bit RISC-V kwiLinux.
  • Inkxaso eyongeziweyo yeFreeBSD kwiinkqubo ze-ARM ezingama-64.

umthombo: opennet.ru

Yongeza izimvo