Tafi sakin harshen shirye-shirye 1.15

Ƙaddamar da sakin harshe na shirye-shirye Go 1.15, wanda Google ya haɓaka tare da haɗin gwiwar al'umma a matsayin mafita mai haɗaka wanda ya haɗu da babban aiki na harsashi da aka haɗa tare da fa'idodin rubutun harsunan kamar sauƙi na lambar rubutu, saurin haɓakawa, da kuma kare kuskure. Lambar aikin rarraba ta ƙarƙashin lasisin BSD.

Rubutun Go yana dogara ne akan abubuwan da aka saba na yaren C tare da wasu aro daga yaren Python. Harshen yana da taƙaitaccen bayani, amma lambar tana da sauƙin karantawa da fahimta. An haɗa lambar Go zuwa cikin fayiloli masu aiwatarwa na binary wanda ke gudana a cikin gida ba tare da amfani da na'ura mai mahimmanci ba (profiling, debugging, da sauran tsarin gano matsala na lokacin gudu an haɗa su kamar kayan aikin lokacin aiki), wanda ke ba ku damar cimma aiki kwatankwacin shirye-shirye a cikin yaren C.

An fara haɓaka aikin tare da sa ido kan shirye-shirye masu zare da yawa da ingantaccen aiki akan tsarin maɓalli da yawa, gami da samar da hanyoyin da aka aiwatar a matakin ma'aikaci don tsara lissafin layi ɗaya da hulɗa tsakanin hanyoyin aiwatar da layi ɗaya. Har ila yau, harshen yana ba da kariyar ginanniyar kariya daga wuce gona da iri na ƙayyadaddun tubalan ƙwaƙwalwar ajiya kuma yana ba da damar yin amfani da mai tara shara.

Main sababbin abubuwa, an gabatar da shi a cikin sakin Go 1.15:

  • An inganta aikin mai haɗawa da mahimmanci, duka a cikin haɓaka saurin aiki da rage yawan amfani da ƙwaƙwalwar ajiya, da kuma hanyar sauƙaƙe lambar kiyayewa. Lokacin da aka gwada akan tsarin aiki ta amfani da tsarin fayil ɗin ELF mai aiwatarwa (Linux, FreeBSD, NetBSD, OpenBSD, Dragonfly, Solaris), babban tsari na manyan aikace-aikacen Go an gina shi da sauri 20%, kuma an rage yawan ƙwaƙwalwar ajiya da matsakaita na 30%. An ƙara yawan aiki ta hanyar canzawa zuwa sabon tsarin fayil na abu da sake yin aiki na ciki don ƙara matakin daidaitawa na aiki. Yanzu ana amfani da mahaɗin ɗan ƙasa ta tsohuwa akan tsarin Linux/amd64 da Linux/arm64 a cikin "-buildmode=pie", wanda baya buƙatar amfani da mahaɗin C.
  • A cikin lokacin aiki, an inganta rarraba ƙananan abubuwa akan tsarin tare da adadi mai yawa na CPU kuma an rage latency. Idan akwai gazawa, ana nuna ƙima tare da nau'ikan lambobi da kirtani maimakon nuna adireshin. Lokacin aika siginar SIGSEGV, SIGBUS da SIGFPE zuwa aikace-aikacen Go, in babu os/signal.Sanarwa mai sarrafa, aikace-aikacen zai fita tare da fitowar tari (a baya halin da ake ciki ba shi da tabbas).
  • An inganta mai tarawa don rage girman fayilolin aiwatarwa da aka ƙirƙira da matsakaita na 5% ta hanyar dakatar da haɗa wasu bayanan metadata don mai tara shara da ƙarin tsaftar bayanan metadata da ba a yi amfani da su ba.
  • An ƙara tutar "-spectre" zuwa mai tarawa da mai tarawa don ba da damar kariya daga hare-haren ajin Specter (don yawancin shirye-shiryen wannan ba a buƙata ba; ba da damar zaɓin za a iya ba da hujja kawai ga wasu lokuta na musamman).
  • A cikin takaddun shaida na X.509, an soke filin CommonName, wanda ba'a kula dashi azaman sunan mai masaukin baki idan filin Madadin Sunaye ya ɓace.
  • Umurnin "tafi" a cikin ma'auni na GOPROXY yanzu na iya lissafin wakilai da yawa, waɗanda waƙafi ko "|" ke raba su. Idan wakili na farko a cikin lissafin ya dawo da kuskure (404 ko 410), to za a yi ƙoƙari don tuntuɓar ta hanyar wakili na biyu, da sauransu.
  • Kayan aikin likitancin dabbobi ya kara gargadi game da yunƙurin canzawa daga kirtani(x) idan "x" nau'in lamba ne banda rune ko byte.
  • An ƙara tutar "-gnu" zuwa abubuwan amfani na objdump don tallafawa tarwatsa tsarin haɗin GNU.
  • An ƙara sabon fakitin lokaci/tzdata, wanda ke ba ka damar haɗa bayanai tare da bayanan yankin lokaci a cikin shirin.
  • Daga rubutun tushe da takardu cire jimlolin whitelist/blacklist da master/bawa, waɗanda yanzu aka maye gurbinsu da "allowlist", "blocklist", "tsari", "pty", "proc" da "control".
  • An yi babban yanki na ƙananan haɓakawa zuwa daidaitaccen ɗakin karatu.
  • Ƙara goyon baya ga OpenBSD 6.7 a cikin GOARCH=hannu da GOARCH=arm64 (a da GOARCH=386 da GOARCH=amd64 kawai aka tallafa).
  • Haɓakawa na 64-bit RISC-V dandamali (GOOS=linux, GOARCH=riscv64) ya ci gaba.
  • Don tsarin x32 86-bit, sakin na gaba zai ɗaga mafi ƙarancin buƙatun tsarin - kawai masu sarrafawa tare da SSE2 za su ci gaba da tallafawa. Don ginawa a yanayin GOARCH=386 kuna buƙatar aƙalla Intel Pentium 4 (wanda aka saki a 2000) ko AMD Opteron/Athlon 64 (wanda aka sake shi a 2003).

source: budenet.ru

Add a comment