Ukukhishwa kolimi lokuhlela lwe-Go 1.15

Kuthunyelwe ngu- ukukhululwa kolimi lokuhlela Iya ku-1.15, ethuthukiswa i-Google ngokubamba iqhaza komphakathi njengesixazululo esiyingxubevange esihlanganisa ukusebenza okuphezulu kwezilimi ezihlanganisiwe nezinzuzo zezilimi zokubhala ezifana nokubhala kalula ikhodi, isivinini sokuthuthuka nokuvikelwa kwamaphutha. Ikhodi yephrojekthi isatshalaliswa ngu ngaphansi kwelayisensi ye-BSD.

I-syntax ye-Go isekelwe kuzinto ezijwayelekile zolimi lwe-C ngezinye izinto ezibolekiwe ezivela olimini lwePython. Ulimi lumfushane impela, kodwa ikhodi ifundeka kalula futhi iyiqonde. Ikhodi ye-Go ihlanganiswe yaba okusebenzisekayo okuzimele odwa kanambambili asebenza ngokomdabu ngaphandle kokusebenzisa umshini obonakalayo (ukwenza iphrofayela, ukulungisa iphutha, nezinye izinhlelo ezingaphansi zokuthola inkinga yesikhathi sokusebenza zihlanganiswe njenge izingxenye zesikhathi sokusebenza), okuvumela ukuthi ufinyelele ukusebenza okuqhathaniswa nezinhlelo ze-C.

Iphrojekthi iqale ithuthukiswe ngeso lokuhlela izinhlelo ezinemicu eminingi kanye nokusebenza ngempumelelo ezinhlelweni eziwumgogodla omningi, okuhlanganisa nokuhlinzeka ngezindlela ezisezingeni lo-opharetha zokuhlela ikhompuyutha ehambisanayo kanye nokusebenzisana phakathi kwezindlela ezisetshenziswa ngokuhambisana. Ulimi luphinde lunikeze isivikelo esakhelwe ngaphakathi ngokumelene namabhulokhi ememori abelwe kakhulu futhi lunikeza ikhono lokusebenzisa umqoqi wezibi.

main emishayethulwe ekukhishweni kwe-Go 1.15:

  • Umsebenzi we-linker uthuthukiswe kakhulu, kokubili ekwandiseni isivinini sokusebenza kanye nokunciphisa ukusetshenziswa kwememori, futhi ngendlela yokwenza lula ukugcinwa kwekhodi. Lapho ivivinywa ezinhlelweni zokusebenza kusetshenziswa ifomethi yefayela elisebenzisekayo le-ELF (Linux, FreeBSD, NetBSD, OpenBSD, Dragonfly, Solaris), isethi evamile yezinhlelo zokusebenza ezinkulu ze-Go zakhiwa ngokushesha ngo-20%, futhi ukusetshenziswa kwenkumbulo kwehliswa ngesilinganiso esingu-30%. Ukukhiqiza okwandayo kwenziwe kwaba nokwenzeka ngokushintshela kufomethi yefayela lezinto ezintsha kanye nokulungisa kabusha izigaba zangaphakathi ukuze kwandiswe izinga lokufana komsebenzi. Isixhumanisi somdabu manje sisetshenziswa ngokuzenzakalelayo kumasistimu e-linux/amd64 kanye ne-linux/arm64 kokuthi "-buildmode=pie", engasadingi ukusetshenziswa kwesixhumi esingu-C.
  • Ngesikhathi sokusebenza, ukusatshalaliswa kwezinto ezincane kumasistimu anenani elikhulu lama-CPU cores kuye kwathuthukiswa kakhulu futhi ukubambezeleka kuncishisiwe. Uma kwenzeka ukwehluleka, amanani anezinhlobo zezinombolo neyunithi yezinhlamvu ayaboniswa esikhundleni sokubonisa ikheli. Uma uthumela amasiginali we-SIGSEGV, SIGBUS kanye ne-SIGPPE kuhlelo lokusebenza lwe-Go, uma ingekho i-os/signal.Yazisa isibambi, uhlelo lokusebenza luzophuma ngokuphumayo kokulandela isitaki (ngaphambilini ukuziphatha bekungalindelekile).
  • Umhlanganisi uthuthukiselwe ukunciphisa usayizi wamafayela asebenzisekayo akhiqiziwe ngesilinganiso esingu-5% ngokumisa ukufakwa kwemethadatha ethile yomqoqi kadoti kanye nokuhlanzwa okunamandla kwemethadatha engasetshenziswanga.
  • Ifulegi elithi β€œ-spectre” lengeziwe kumdidiyeli kanye nesihlanganisi ukuze kunikezwe amandla ukuvikelwa ekuhlaselweni kwesigaba se-Specter (ezinhlelweni eziningi lokhu akudingekile; ukunika amandla inketho kungathethelelwa kuphela. ezinye izimo eziqondile kakhulu).
  • Kuzitifiketi ze-X.509, inkambu ye-CommonName ihoxisiwe, engasaphathwa njengegama lomsingathi uma inkambu Yamagama Ahlukile Wesihloko ingekho.
  • Umyalo othi "hamba" ekuguquguqukeni kwemvelo ye-GOPROXY manje ungenza uhlu lwama-proxies amaningi, ahlukaniswe ngekhoma noma "|". Uma ummeleli wokuqala ohlwini ebuyisela iphutha (404 noma 410), kuzobe sekwenziwa umzamo wokuxhumana ngommeleli wesibili, njll.
  • Isisetshenziswa sezilwane sengeze isexwayiso mayelana nokuzama ukuguqula kusuka kuyunithi yezinhlamvu(x) uma okuthi "x" kuwuhlobo oluphelele ngaphandle kwe-rune noma ibhayithi.
  • Ifulegi elithi "-gnu" lengezwe kuhlelo lwe-objdump ukuze kusekelwe ukuqaqa i-GNU assembler syntax.
  • Iphakheji entsha yengeziwe isikhathi/tzdata, okukuvumela ukuthi uhlanganise isizindalwazi esinedatha yendawo yesikhathi ohlelweni.
  • Kusuka emibhalweni engumthombo namadokhumenti isusiwe imishwana ethi whitelist/blacklist kanye nenkosi/isigqila, manje esithathelwa indawo ngokuthi "uhlu lwabavunyelwe", "blocklist", "process", "pty", "proc" kanye "control".
  • Ingxenye enkulu yentuthuko encane yenziwe kumtapo wolwazi ojwayelekile.
  • Usekelo olungeziwe lwe-OpenBSD 6.7 ku-GOARCH=arm kanye ne-GOARCH=arm64 izindlela (ngaphambilini kwakusekelwa kuphela i-GOARCH=386 ne-GOARCH=amd64).
  • Ukuthuthukiswa kwenkundla ye-64-bit RISC-V (GOOS=linux, GOARCH=riscv64) kuqhubekile.
  • Kuzinhlelo ze-32-bit x86, ukukhishwa okulandelayo kuzophakamisa izimfuneko zesistimu eziphansi - amaphrosesa ane-SSE2 kuphela azoqhubeka nokusekelwa. Ukuze wakhe ngemodi ye-GOARCH=386 uzodinga okungenani i-Intel Pentium 4 (ekhishwe ngo-2000) noma i-AMD Opteron/Athlon 64 (ekhishwe ngo-2003).

Source: opennet.ru

Engeza amazwana