„Go“ programavimo kalbos išleidimas 1.15

Įvesta programavimo kalbos leidimas Eiti 1.15, kurį „Google“ kuria dalyvaujant bendruomenei kaip hibridinį sprendimą, kuris sujungia aukštą sudarytų kalbų našumą su scenarijų kalbų privalumais, tokiais kaip kodo rašymo paprastumas, kūrimo greitis ir apsauga nuo klaidų. Projekto kodas išplatino pagal BSD licenciją.

„Go“ sintaksė pagrįsta pažįstamais C kalbos elementais su kai kuriomis „Python“ kalbos skolinėmis. Kalba gana glausta, tačiau kodą lengva skaityti ir suprasti. „Go“ kodas yra kompiliuojamas į atskirus dvejetainius vykdomuosius failus, kurie veikia savaime nenaudojant virtualios mašinos (profiliavimo, derinimo ir kitos vykdymo laiko problemų aptikimo posistemės yra integruotos kaip vykdymo laiko komponentai), kuri leidžia pasiekti našumą, panašų į C programas.

Iš pradžių projektas buvo sukurtas atsižvelgiant į kelių gijų programavimą ir efektyvų daugelio branduolių sistemų veikimą, įskaitant operatoriaus lygio priemones, skirtas organizuoti lygiagretųjį skaičiavimą ir lygiagrečiai vykdomų metodų sąveiką. Kalba taip pat suteikia įmontuotą apsaugą nuo per daug paskirstytų atminties blokų ir suteikia galimybę naudoti šiukšlių rinktuvą.

pagrindinis naujovespristatytas Go 1.15 leidime:

  • Susiejiklis buvo gerokai patobulintas tiek greičio ir atminties suvartojimo požiūriu, tiek kodo priežiūros supaprastinimo požiūriu. Testuojant operacinėse sistemose, kurios naudoja ELF vykdomojo failo formatą (Linux(FreeBSD, NetBSD, OpenBSD, Dragonfly, Solaris) tipiško didelių „Go“ programų rinkinio susiejimas tapo 20 % greitesnis, o atminties sunaudojimas sumažėjo vidutiniškai 30 %. Šis našumo pagerėjimas buvo įmanomas perėjus prie naujo objekto failo formato ir perkūrus vidinius etapus, siekiant padidinti lygiagretumą. Dabar vietinė susiejimo programa pagal numatytuosius nustatymus naudojama „Linux“ / „amd64“ ir „Linux“ / „arm64“ sistemose „-buildmode=pie“ režimu, kuriam nebereikia naudoti C susiejimo programos.
  • Vykdymo metu mažų objektų paskirstymas sistemose, kuriose yra daug procesoriaus branduolių, buvo žymiai patobulintas ir sumažintas delsos laikas. Gedimų atveju vietoj adreso rodomos reikšmės su skaitiniais ir eilučių tipais. Siunčiant SIGSEGV, SIGBUS ir SIGFPE signalus į programą Go, jei nėra OS/signal.Pranešimo tvarkytojas, programa išeis su kamino sekimo išvestimi (anksčiau elgsena buvo nenuspėjama).
  • Kompiliatorius buvo optimizuotas, kad sugeneruotų vykdomųjų failų dydis būtų sumažintas vidutiniškai 5%, sustabdant kai kurių metaduomenų įtraukimą į šiukšlių rinktuvą ir agresyvesnį nenaudojamų metaduomenų valymą.
  • "-Spectre" vėliavėlė buvo pridėta prie kompiliatoriaus ir surinkėjo, kad būtų galima apsaugoti nuo Spectre klasės atakų (daugumai programų to nereikia; parinkties įjungimas gali būti pateisinamas tik kai kurie labai specifiniai atvejai).
  • X.509 sertifikatuose laukas CommonName nebenaudojamas. Jis nebelaikomas pagrindinio kompiuterio pavadinimu, jei trūksta lauko Subject Alternative Names.
  • GOPROXY aplinkos kintamajame esanti komanda „go“ dabar gali pateikti kelis tarpinius serverius, atskirtus kableliu arba „|“. Jei pirmasis tarpinis serveris sąraše pateikia klaidą (404 arba 410), tada bus bandoma susisiekti per antrąjį tarpinį serverį ir pan.
  • Veterinarijos programa pridėjo įspėjimą apie bandymą konvertuoti iš eilutės (x), jei "x" yra sveikojo skaičiaus tipas, išskyrus runą ar baitą.
  • „-gnu“ vėliavėlė buvo pridėta prie „objdump“ programos, kad būtų galima išardyti GNU surinkėjo sintaksę.
  • Pridėta nauja pakuotė laikas/tzdata, kuri leidžia į programą integruoti duomenų bazę su laiko juostos duomenimis.
  • Iš šaltinio tekstų ir dokumentacijos pašalintas frazės whitelist/blacklist ir master/slave, kurios dabar yra pakeistos „leistinų sąrašas“, „blokavimo sąrašas“, „procesas“, „pty“, „proc“ ir „control“.
  • Standartinėje bibliotekoje buvo atlikta didelė dalis nedidelių patobulinimų.
  • Pridėtas OpenBSD 6.7 palaikymas režimuose GOARCH=arm ir GOARCH=arm64 (anksčiau buvo palaikomi tik GOARCH=386 ir GOARCH=amd64).
  • Toliau buvo kuriama 64 bitų RISC-V platforma (GOOS=linux, GOARCH=riscv64).
  • 32 bitų x86 sistemoms kitas leidimas padidins minimalius sistemos reikalavimus – ir toliau bus palaikomi tik procesoriai su SSE2. Norint sukurti GOARCH=386 režimu, jums reikės bent „Intel Pentium 4“ (išleistos 2000 m.) arba „AMD Opteron/Athlon 64“ (išleistos 2003 m.).

Šaltinis: opennet.ru

Pirkite patikimą prieglobą svetainėms su DDoS apsauga, VPS VDS serveriais 🔥 Įsigykite patikimą svetainių talpinimą su DDoS apsauga, VPS VDS serveriais | ProHoster