Kuburitswa kweGo programming mutauro 1.15

Introduced programming language release Enda 1.15, iyo iri kuvandudzwa neGoogle nekutora chikamu kwenharaunda semhinduro yakasanganiswa iyo inosanganisa kuita kwepamusoro kwemitauro yakaunganidzwa nezvakanakira zvekunyora mitauro sekureruka kwekunyora kodhi, kukurumidza kwekusimudzira uye kudzivirira kukanganisa. Project code inoparadzirwa ne pasi peBSD rezinesi.

Syntax yaGo yakavakirwa pazvinhu zvinozivikanwa zvemutauro weC nezvimwe zvinokwereta kubva mumutauro wePython. Mutauro wacho wakapfupikiswa, asi kodhi yacho iri nyore kuverenga nekunzwisisa. Go kodhi inounganidzwa mune yakamira-yega mabhinari eexecutables anomhanya natively pasina kushandisa chaiwo muchina (profiling, debugging, uye mamwe ekumhanya-mhanya ekuona dambudziko subsystems akabatanidzwa se. runtime components), iyo inokutendera iwe kuti uwane kuita kunofananidzwa neC zvirongwa.

Iyo purojekiti yakatanga kugadziridzwa neziso kune akawanda-tambo dhizaini hurongwa uye hunoshanda hunoshanda pane akawanda-epakati masisitimu, kusanganisira kupa opareta-nhanho nzira yekuronga parallel computing uye kudyidzana pakati peparallel-executed nzira. Mutauro unopawo kuchengetedzwa kwakavakirwa-mukati kubva kune-yakagoverwa ndangariro mabhuroko uye inopa kugona kushandisa muunganidzi wemarara.

chikuru zvitsvayakaunzwa muGo 1.15 kuburitswa:

  • Basa rekubatanidza rakagadziridzwa zvakanyanya, zvese mukuwedzera kukurumidza kwekushanda uye kuderedza kushandiswa kwendangariro, uye munzira yekurerutsa kodhi yekuchengetedza. Payakaedzwa pamasisitimu anoshanda uchishandisa ELF inotemerwa faira fomati (Linux, FreeBSD, NetBSD, OpenBSD, Dragonfly, Solaris), yakajairwa seti yakakura yeGo application yakavakwa 20% nekukurumidza, uye kushandiswa kwendangariro kwakaderedzwa neavhareji ye30%. Kuwedzera kubereka kwakagoneka nekuchinjira kune chitsva chinhu faira fomati uye kugadzirisa zvakare nhanho dzemukati kuti uwedzere mwero wekufananidza kwebasa. Iyo yemuno linker yava kushandiswa nekusarudzika palinux/amd64 uye linux/arm64 masisitimu mu "-buildmode=pie", iyo isingachadi kushandiswa kweC linker.
  • Munguva yekumhanya, kugoverwa kwezvinhu zvidiki pane masisitimu ane nhamba huru yeCPU cores yakagadziridzwa zvakanyanya uye latency yakaderedzwa. Kana paine kutadza, kukosha nenhamba uye tambo mhando dzinoratidzwa pane kuratidza kero. Pakutumira SIGSEGV, SIGBUS neSIGFPE masiginecha kune Go application, pasina os/signal.Zivisa mubatiri, chishandiso chinobuda ne stack trace kubuda (kare maitiro acho aive asingatarisike).
  • Iyo compiler yakagadziridzwa kuti ideredze saizi yeakagadzirwa mafaera eexecutable neavhareji ye5% nekumisa kuisirwa kweimwe metadata yemuunganidzi wemarara uye zvakanyanya kuchenesa metadata isina kushandiswa.
  • Iyo "-spectre" mureza yakawedzerwa kune iyo compiler uye assembler kugonesa dziviriro kubva kuSpecter class kurwiswa (kune akawanda mapurogiramu izvi hazvidiwe; kugonesa iyo sarudzo inogona chete kururamiswa zvimwe zviitiko chaizvo).
  • Muzvitupa zve X.509, nzvimbo yeCommonName yarambwa, iyo isingachabatiki sezita remugamuchiri kana chikamu cheMazita Alternative Name chisipo.
  • Murairo we "enda" muGOPROXY nharaunda inoshanduka unogona ikozvino kunyora akawanda proxies, akaparadzaniswa necomma kana "|". Kana proxy yekutanga mune rondedzero ikadzosa kukanganisa (404 kana 410), ipapo kuyedza kuchaitwa kubata kuburikidza neyechipiri proxy, nezvimwe.
  • Iyo vet utility yakawedzera yambiro nezve kuyedza kutendeuka kubva patambo(x) kana "x" iri nhamba yemhando kunze kwerune kana byte.
  • Iyo "-gnu" mureza wakawedzerwa kune objdump utility kutsigira disassembler GNU assembler syntax.
  • Pasuru itsva yakawedzerwa nguva/tzdata, iyo inokutendera kuti ubatanidze dhatabhesi ine data zone data muchirongwa.
  • Kubva pane zvinyorwa uye zvinyorwa kubviswa iwo mitsara whitelist / blacklist uye tenzi / muranda, izvo zvino zvatsiviwa ne "allowlist", "blocklist", "process", "pty", "proc" uye "control".
  • Chikamu chikuru chekuvandudzwa kuduku kwakaitwa kuraibhurari yemazuva ose.
  • Yakawedzerwa rutsigiro rweOpenBSD 6.7 muGOARCH=arm uye GOARCH=arm64 modhi (yaimbova GOARCH=386 chete uye GOARCH=amd64 dzaitsigirwa).
  • Kugadziridzwa kwe64-bit RISC-V chikuva (GOOS=linux, GOARCH=riscv64) yakaenderera.
  • Kune 32-bit x86 masisitimu, iyo inotevera kuburitswa ichasimudza zvishoma zvinodiwa system - chete ma processor ane SSE2 acharamba achitsigirwa. Kuti uvake muGOARCH = 386 modhi iwe uchada ingangoita Intel Pentium 4 (yakaburitswa muna 2000) kana AMD Opteron/Athlon 64 (yakaburitswa muna 2003).

Source: opennet.ru

Voeg