Iru programlingvo eldono 1.15

Enkondukita eldono de programlingvo Iru 1.15, kiu estas disvolvita de Google kun la partopreno de la komunumo kiel hibrida solvo, kiu kombinas la altan rendimenton de kompilitaj lingvoj kun la avantaĝoj de skriptlingvoj kiel facileco de skribkodo, rapideco de disvolviĝo kaj erarprotekto. Projekta kodo distribuita de sub la permesilo BSD.

La sintakso de Go baziĝas sur konataj elementoj de la C-lingvo kun kelkaj pruntoj de la Python-lingvo. La lingvo estas sufiĉe konciza, sed la kodo estas facile legebla kaj komprenebla. Go-kodo estas kompilita en memstarajn binarajn ruleblajn ekzekutaĵojn kiuj funkcias denaske sen uzado de virtuala maŝino (profilado, senararigado, kaj aliaj rultempaj problemo-detektaj subsistemoj estas integritaj kiel rultempaj komponantoj), kiu ebligas al vi atingi rendimenton kompareblan al C-programoj.

La projekto estas komence evoluigita kun okulo al plurfadena programado kaj efika operacio sur plurkernaj sistemoj, inkluzive de disponigado de funkciigist-nivelaj rimedoj por organizado de paralela komputado kaj interagado inter paralel-efektivigitaj metodoj. La lingvo ankaŭ disponigas enkonstruitan protekton kontraŭ troasignitaj memorblokoj kaj disponigas la kapablon uzi rubkolektilon.

Ĉefa novigojenkondukite en la Go 1.15-eldono:

  • La laboro de la ligilo estis signife plibonigita, kaj en pliigo de la rapideco de operacio kaj reduktado de memorkonsumo, kaj en la direkto de simpligi kodzorgadon. Se testite sur operaciumoj uzantaj la ELF rulebla dosierformato (Linukso, FreeBSD, NetBSD, OpenBSD, Dragonfly, Solaris), tipa aro de grandaj Go-aplikoj estis konstruita 20% pli rapide, kaj memorkonsumo estis reduktita je mezumo de 30%. Pliigita produktiveco estis ebligita per ŝanĝado al nova objektodosierformato kaj reverkado de internaj stadioj por pliigi la nivelon de paraleligo de laboro. La denaska ligilo nun estas uzata defaŭlte en sistemoj linux/amd64 kaj linux/arm64 en "-buildmode=pie", kiu ne plu postulas la uzon de C-ligilo.
  • En rultempo, la distribuado de malgrandaj objektoj sur sistemoj kun granda nombro da CPU-kernoj estis signife plibonigita kaj latencia estis reduktita. En kazo de malsukcesoj, valoroj kun nombraj kaj ĉenoj estas montrataj anstataŭ montri la adreson. Sendante SIGSEGV, SIGBUS kaj SIGFPE-signalojn al Go-apliko, en foresto de os/signalo.Notify-traktilo, la aplikaĵo eliros kun stakspura eligo (antaŭe la konduto estis neantaŭvidebla).
  • La kompililo estis optimumigita por redukti la grandecon de generitaj ruleblaj dosieroj je mezumo 5% ĉesigante la inkludon de iuj metadatenoj por la rubkolektanto kaj pli agresema purigado de neuzataj metadatenoj.
  • La flago "-spectre" estis aldonita al la kompililo kaj asemblero por ebligi protekton kontraŭ atakoj de la klaso Spectre (por plej multaj programoj tio ne estas bezonata; ebligi la opcion nur povas esti pravigita por iuj tre specifaj kazoj).
  • En X.509-atestiloj, la kampo CommonName estis malrekomendita, kiu ne plu estas traktata kiel gastiga nomo se mankas la kampo Subject Alternative Names.
  • La komando "iru" en la mediovariablo GOPROXY nun povas listigi plurajn prokurojn, apartigitajn per komo aŭ "|". Se la unua prokurilo en la listo resendas eraron (404 aŭ 410), tiam provos kontakti per la dua prokurilo, ktp.
  • La veterinara ilo aldonis averton pri provo konverti el ĉeno(x) se "x" estas entjera tipo krom runo aŭ bajto.
  • La flago "-gnu" estis aldonita al la ilo objdump por subteni malmuntadon de sintakso de la asemblero de GNU.
  • Nova pako aldonita tempo/tzdata, kiu ebligas al vi integri datumbazon kun horzonaj datumoj en la programon.
  • El fontotekstoj kaj dokumentado forigita la frazojn whitelist/blacklist kaj master/slave, kiuj nun estas anstataŭigitaj per "allowlist", "bloklist", "process", "pty", "proc" kaj "control".
  • Granda parto de negravaj plibonigoj estis farita al la norma biblioteko.
  • Aldonita subteno por OpenBSD 6.7 en reĝimoj GOARCH=arm kaj GOARCH=arm64 (antaŭe nur GOARCH=386 kaj GOARCH=amd64 estis subtenataj).
  • La evoluo de la 64-bita RISC-V-platformo (GOOS=linukso, GOARCH=riscv64) daŭris.
  • Por 32-bitaj x86-sistemoj, la sekva eldono altigos la minimumajn sistemajn postulojn - nur procesoroj kun SSE2 daŭre estos subtenataj. Por konstrui en GOARCH=386-reĝimo vi bezonos almenaŭ Intel Pentium 4 (eldonita en 2000) aŭ AMD Opteron/Athlon 64 (eldonita en 2003).

fonto: opennet.ru

Aldoni komenton