Rach brath cànain prògramaidh 1.15

Air a chuir a-steach le sgaoileadh cànan prògramadh Rach gu 1.15, a tha ga leasachadh le Google le com-pàirteachadh na coimhearsnachd mar fhuasgladh tar-chinealach a tha a’ cothlamadh àrd-choileanadh chànanan cruinnichte le buannachdan cànanan sgrìobhaidh leithid furasta còd sgrìobhaidh, astar leasachaidh agus dìon mhearachdan. Còd a ' phròiseact air a sgaoileadh le fo chead BSD.

Tha co-chòrdadh Go stèidhichte air eileamaidean eòlach den chànan C le cuid de iasadan bhon chànan Python. Tha an cànan gu math pongail, ach tha an còd furasta a leughadh agus a thuigsinn. Tha còd Go air a chur ri chèile ann an gnìomhan dà-chànanach a bhios a’ ruith gu dùthchasach gun a bhith a’ cleachdadh inneal brìgheil (pròifil, debugging, agus fo-shiostaman lorg duilgheadas runtime eile air am filleadh a-steach mar co-phàirtean runtime), a leigeas leat coileanadh a choileanadh a tha coltach ri prògraman C.

Tha am pròiseact air a leasachadh an toiseach le sùil ri prògramadh ioma-snàthainn agus obrachadh èifeachdach air siostaman ioma-cridhe, a’ toirt a-steach a bhith a’ toirt seachad dòighean aig ìre gnìomhaiche airson coimpiutaireachd co-shìnte a chuir air dòigh agus eadar-obrachadh eadar modhan cur an gnìomh co-shìnte. Tha an cànan cuideachd a’ toirt dìon a-staigh an-aghaidh blocaichean cuimhne a tha ro-riaraichte agus a’ toirt comas neach-cruinneachaidh sgudail a chleachdadh.

prìomh innleachdanair a thoirt a-steach ann am brath Go 1.15:

  • Tha obair an neach-ceangail air a leasachadh gu mòr, an dà chuid ann a bhith ag àrdachadh astar obrachaidh agus a ’lughdachadh caitheamh cuimhne, agus ann an stiùireadh cumail suas còd a dhèanamh nas sìmplidhe. Nuair a chaidh deuchainn a dhèanamh air siostaman obrachaidh a’ cleachdadh cruth faidhle so-ghnìomhaichte ELF (Linux, FreeBSD, NetBSD, OpenBSD, Dragonfly, Solaris), chaidh seata àbhaisteach de thagraidhean mòra Go a thogail 20% nas luaithe, agus chaidh caitheamh cuimhne a lughdachadh gu cuibheasach de 30%. Chaidh barrachd cinneasachd a dhèanamh comasach le bhith ag atharrachadh gu cruth faidhle nì ùr agus ag ath-obrachadh ìrean a-staigh gus ìre co-shìnte obrach àrdachadh. Tha an ceangal dùthchasach a-nis air a chleachdadh gu bunaiteach air siostaman linux/amd64 agus linux/arm64 ann an “-buildmode=pie”, nach fheum ceangal C a chleachdadh tuilleadh.
  • Ann an ùine ruith, tha cuairteachadh stuthan beaga air siostaman le àireamh mhòr de choraichean CPU air a leasachadh gu mòr agus chaidh latency a lughdachadh. Ma thachras fàilligidhean, tha luachan le seòrsachan àireamhach is sreang air an taisbeanadh an àite an seòladh a shealltainn. Nuair a bhios tu a’ cur comharran SIGSEGV, SIGBUS agus SIGFPE gu tagradh Go, às aonais inneal-làimhseachaidh os/signal.Notify, falbhaidh an tagradh le toradh lorg stac (bha an giùlan do-chreidsinneach roimhe seo).
  • Chaidh an compiler a bharrachadh gus meud faidhlichean so-ghnìomhaichte gineadh a lughdachadh gu cuibheasach de 5% le bhith a’ cur stad air a bhith a’ toirt a-steach cuid de mheata-dàta airson an neach-cruinneachaidh sgudail agus glanadh nas ionnsaigheach air meata-dàta nach deach a chleachdadh.
  • Chaidh a’ bhratach “-spectre” a chur ris an inneal-cruinneachaidh agus an cruinneachaidh gus dìon a dhèanamh an aghaidh ionnsaighean clas Specter (airson a’ mhòr-chuid de phrògraman chan eil seo riatanach; chan urrainnear an roghainn fhìreanachadh ach airson cuid de chùisean sònraichte).
  • Ann an teisteanasan X.509, chan eil an raon CommonName air a mholadh tuilleadh, agus chan eilear ga làimhseachadh mar ainm aoigheachd tuilleadh ma tha an raon Ainmean Eile a dhìth.
  • Faodaidh an àithne “go” ann an caochladair àrainneachd GOPROXY a-nis grunn proxies a liostadh, air an sgaradh le cromag no “|”. Ma thilleas a’ chiad neach-ionaid san liosta mearachd (404 no 410), thèid oidhirp a dhèanamh fios a chuir tron ​​dàrna neach-ionaid, msaa.
  • Tha an lighiche-sprèidh air rabhadh a chuir a-steach mu bhith a’ feuchainn ri tionndadh bho sreang(x) mas e “x” a th’ ann an integer seòrsa seach rune no byte.
  • Chaidh a’ bhratach “-gnu” a chur ris a’ ghoireas objdump gus taic a thoirt do cho-chàradh cruinneachaidh GNU a dhì-chruinneachadh.
  • Pasgan ùr air a chur ris ùine/tzdata, a leigeas leat stòr-dàta fhilleadh a-steach le dàta sòn ùine a-steach don phrògram.
  • Bho theacsaichean tùsail agus sgrìobhainnean air a thoirt air falbh na h-abairtean liosta geal/liosta dubh agus maighstir/tràill, a tha a-nis air an cur nan àite le “allowlist”, “blocklist”, “pròiseas”, “pty”, “proc” agus “smachd”.
  • Chaidh cuibhreann mòr de leasachaidhean beaga a dhèanamh air an leabharlann àbhaisteach.
  • Taic a bharrachd airson OpenBSD 6.7 ann am modhan GOARCH=arm agus GOARCH=arm64 (roimhe seo cha robh ach GOARCH=386 agus GOARCH=amd64 a’ faighinn taic).
  • Lean leasachadh an àrd-ùrlair RISC-V 64-bit (GOOS = linux, GOARCH = riscv64).
  • Airson siostaman 32-bit x86, àrdaichidh an ath fhoillseachadh na riatanasan siostam as ìsle - cha bhi ach pròiseasairean le SSE2 a’ faighinn taic. Gus togail ann am modh GOARCH = 386 feumaidh tu co-dhiù Intel Pentium 4 (air a leigeil ma sgaoil ann an 2000) no AMD Opteron / Athlon 64 (air a leigeil ma sgaoil ann an 2003).

Source: fosgailtenet.ru

Cuir beachd ann