Pitani ku chilankhulo cha pulogalamu 1.15

Yovomerezedwa ndi kutulutsidwa kwa chilankhulo cha pulogalamu Pitani ku 1.15, yomwe ikupangidwa ndi Google ndikutengapo gawo kwa anthu ammudzi ngati yankho la hybrid lomwe limaphatikiza magwiridwe antchito apamwamba a zilankhulo zophatikizidwa ndi zabwino za zilankhulo zolembera monga kusavuta kulemba ma code, liwiro lachitukuko ndi kuteteza zolakwika. Project kodi wogawidwa ndi pansi pa layisensi ya BSD.

Mawu a Go's syntax adatengera zodziwika bwino za chilankhulo cha C ndikubwereketsa kuchokera kuchilankhulo cha Python. Chilankhulocho ndi chachidule, koma code yake ndi yosavuta kuwerenga ndi kumvetsa. Go code imapangidwa kuti ikhale yokhayokha yoyeserera yokhayo yomwe imayenda mokhazikika osagwiritsa ntchito makina enieni (kulemba mbiri, kukonza zolakwika, ndi njira zina zodziwira zovuta za nthawi yothamanga zimaphatikizidwa monga Rutime zigawo), zomwe zimakulolani kuti mukwaniritse magwiridwe antchito ofanana ndi mapulogalamu a C.

Pulojekitiyi imayamba kupangidwa ndi diso ku mapulogalamu amitundu yambiri komanso kugwira ntchito moyenera pamakina amitundu yambiri, kuphatikizapo kupereka njira zogwiritsira ntchito njira zokonzekera makompyuta ofananira ndi kuyanjana pakati pa njira zomwe zimagwiritsidwa ntchito mofanana. Chilankhulochi chimaperekanso chitetezo chomangidwira ku midadada yoperekedwa mopitirira muyeso ndipo imapereka mphamvu yogwiritsira ntchito zotayira zinyalala.

waukulu zatsopanoadatulutsidwa mu Go 1.15 kumasulidwa:

  • Ntchito yolumikizira yasinthidwa kwambiri, powonjezera kuthamanga kwa ntchito ndikuchepetsa kukumbukira kukumbukira, komanso kuwongolera kukonza kachidindo. Poyesedwa pamakina ogwiritsira ntchito pogwiritsa ntchito mawonekedwe a fayilo a ELF (Linux, FreeBSD, NetBSD, OpenBSD, Dragonfly, Solaris), mapulogalamu akuluakulu a Go adamangidwa 20% mofulumira, ndipo kugwiritsa ntchito kukumbukira kunachepetsedwa ndi 30%. Kuwonjezeka kwa zokolola kunatheka posinthira ku fayilo yatsopano ya fayilo ndikukonzanso magawo amkati kuti muwonjezere kuchuluka kwa kufanana kwa ntchito. Wogwirizanitsa mbadwa tsopano akugwiritsidwa ntchito mwachisawawa pa linux/amd64 ndi Linux/arm64 machitidwe mu "-buildmode=pie", yomwe sikufunikanso kugwiritsa ntchito C linker.
  • Panthawi yothamanga, kugawa kwazinthu zazing'ono pamakina okhala ndi ma CPU ambiri kwasinthidwa kwambiri ndipo latency yachepetsedwa. Zikalephera, ma mtengo okhala ndi manambala ndi zingwe amawonetsedwa m'malo mowonetsa adilesi. Mukatumiza ma siginecha a SIGSEGV, SIGBUS ndi SIGFPE ku pulogalamu ya Go, pakapanda os/signal.Ziwitsani chogwirizira, pulogalamuyo imatuluka ndi stack trace output (poyamba khalidweli linali losayembekezereka).
  • Wopangayo wakonzedwa kuti achepetse kukula kwa mafayilo omwe amapangidwa ndi pafupifupi 5% poletsa kuphatikizidwa kwa metadata kwa otolera zinyalala komanso kuyeretsa mwamphamvu kwa metadata yosagwiritsidwa ntchito.
  • Mbendera ya "-spectre" yawonjezedwa kwa wopanga ndi wophatikiza kuti atetezedwe ku ziwopsezo za gulu la Specter (pamapulogalamu ambiri izi sizikufunika; kupatsa mwayi mwayiwu kuyenera kukhala koyenera chifukwa zochitika zina zenizeni).
  • Mu masatifiketi a X.509, gawo la CommonName latsitsidwa, lomwe silikuwonedwanso ngati dzina lachidziwitso ngati gawo la Mayina a Subject Alternative Name mulibe.
  • Lamulo la "pitani" mu GOPROXY environment variable likhoza kutchula ma proxies angapo, olekanitsidwa ndi koma kapena "|". Ngati woyimira woyamba pamndandanda abweza cholakwika (404 kapena 410), ndiye kuti kuyesa kulumikizidwa kudzera pa projekiti yachiwiri, ndi zina zambiri.
  • Gulu la vet lawonjezera chenjezo lokhudza kuyesa kusintha kuchokera ku chingwe(x) ngati "x" ndi mtundu wamtundu uliwonse kupatula rune kapena byte.
  • Mbendera ya "-gnu" yawonjezedwa kuzinthu za objdump kuti zithandizire kusokoneza GNU assembler syntax.
  • Phukusi latsopano lawonjezedwa nthawi/tzdata, zomwe zimakulolani kuti muphatikize nkhokwe ndi data zone nthawi mu pulogalamuyi.
  • Kuchokera pamawu oyambira ndi zolemba kuchotsedwa mawu oti whitelist/blacklist ndi master/kapolo, omwe tsopano asinthidwa ndi "ollowlist", "blocklist", "process", "pty", "proc" ndi "control".
  • Gawo lalikulu la zowongolera zazing'ono zapangidwa ku laibulale yokhazikika.
  • Thandizo lowonjezera la OpenBSD 6.7 mu GOARCH=arm ndi GOARCH=arm64 modes (kale GOARCH=386 yokha ndi GOARCH=amd64 ndizo zidathandizidwa).
  • Kupanga nsanja ya 64-bit RISC-V (GOOS=linux, GOARCH=riscv64) kunapitilira.
  • Kwa machitidwe a 32-bit x86, kumasulidwa kotsatira kudzakweza zofunikira za dongosolo - mapurosesa okha omwe ali ndi SSE2 ndi omwe apitirize kuthandizidwa. Kuti mumange mu GOARCH = 386 mode mudzafunika Intel Pentium 4 (yotulutsidwa mu 2000) kapena AMD Opteron/Athlon 64 (yotulutsidwa mu 2003).

Source: opennet.ru

Kuwonjezera ndemanga