Gean programmeartaal release 1.15

Yntrodusearre útjefte fan programmeartaal Gean 1.15, dy't wurdt ûntwikkele troch Google mei de partisipaasje fan 'e mienskip as in hybride oplossing dy't de hege prestaasjes fan kompilearre talen kombineart mei de foardielen fan skripttalen lykas gemak fan skriuwen fan koade, snelheid fan ûntwikkeling en flaterbeskerming. Projektkoade ferspraat troch ûnder de BSD-lisinsje.

De syntaksis fan Go is basearre op bekende eleminten fan 'e C-taal mei guon lienen út' e Python-taal. De taal is frij beknopt, mar de koade is maklik te lêzen en te begripen. Go-koade is kompilearre yn stand-alone binêre útfierbere triemmen dy't natuerlik rinne sûnder in firtuele masine te brûken (profilearjen, debuggen en oare subsystemen foar deteksje fan runtimeproblemen binne yntegreare as runtime komponinten), wêrtroch jo prestaasjes kinne berikke fergelykber mei C-programma's.

It projekt is yn earste ynstânsje ûntwikkele mei it each op multi-threaded programmearring en effisjinte operaasje op multi-core systemen, ynklusyf it jaan fan operator-nivo middels foar it organisearjen fan parallel computing en ynteraksje tusken parallel útfierd metoaden. De taal biedt ek ynboude beskerming tsjin oerallokearre ûnthâldblokken en jout de mooglikheid om in garbage collector te brûken.

haad ynnovaasjesyntrodusearre yn 'e Go 1.15 release:

  • It wurk fan 'e linker is signifikant ferbettere, sawol yn it fergrutsjen fan de snelheid fan operaasje en it ferminderjen fan ûnthâldferbrûk, en yn' e rjochting fan it ferienfâldigjen fan koade-ûnderhâld. As test op bestjoeringssystemen mei it ELF-útfierbere bestânsformaat (Linux, FreeBSD, NetBSD, OpenBSD, Dragonfly, Solaris), waard in typyske set fan grutte Go-applikaasjes 20% rapper boud, en ûnthâldferbrûk waard troch in gemiddelde fan 30% fermindere. Ferhege produktiviteit waard mooglik makke troch te wikseljen nei in nij objektbestânformaat en ynterne stadia opnij te bewurkjen om it nivo fan parallelisaasje fan wurk te ferheegjen. De native linker wurdt no standert brûkt op linux/amd64- en linux/arm64-systemen yn "-buildmode=pie", dy't net langer it gebrûk fan in C-linker fereasket.
  • Yn runtime is de ferdieling fan lytse objekten op systemen mei in grut oantal CPU-kearnen signifikant ferbettere en de latency is fermindere. Yn gefal fan mislearrings wurde wearden mei numerike en tekenrige typen werjûn ynstee fan it adres werjaan. By it ferstjoeren fan SIGSEGV-, SIGBUS- en SIGFPE-sinjalen nei in Go-applikaasje, by it ûntbrekken fan in os/signal.Notify-handler, sil de applikaasje útgean mei in stack trace-útfier (earder wie it gedrach ûnfoarspelber).
  • De gearstaller is optimalisearre om de grutte fan generearre útfierbere bestannen mei in gemiddelde fan 5% te ferminderjen troch it opnimmen fan guon metadata foar de garbage collector te stopjen en agressyf skjinmeitsjen fan net brûkte metadata.
  • De flagge "-spectre" is tafoege oan 'e kompilator en assembler om beskerming te meitsjen tsjin oanfallen fan Spectre-klasse (foar de measte programma's is dit net fereaske; it ynskeakeljen fan de opsje kin allinich rjochtfeardige wurde foar guon hiel spesifike gefallen).
  • Yn X.509-sertifikaten is it fjild CommonName ôfkard, dat net langer as hostnamme behannele wurdt as it fjild Subject Alternative Names ûntbrekt.
  • It kommando "go" yn 'e omjouwingsfariabele GOPROXY kin no meardere proxy's opjaan, skieden troch in komma of "|". As de earste proxy yn 'e list in flater jout (404 of 410), dan sil besocht wurde om kontakt te meitsjen fia de twadde proxy, ensfh.
  • It fet-helpprogramma hat in warskôging tafoege oer it besykjen om te konvertearjen fan tekenrige (x) as "x" in hiel getal type is oars as rune of byte.
  • De flagge "-gnu" is tafoege oan it objdump-hulpprogramma om it demontearjen fan GNU-assemblersyntaksis te stypjen.
  • Nij pakket tafoege tiid/tzdata, wêrmei jo in databank mei tiidsônegegevens yn it programma yntegrearje kinne.
  • Fan boarneteksten en dokumintaasje fuorthelle de útdrukkingen whitelist/swartelist en master/slave, dy't no ferfongen binne troch "allowlist", "blocklist", "proses", "pty", "proc" en "kontrôle".
  • In grut part fan lytse ferbetterings binne makke oan de standert bibleteek.
  • Stipe tafoege foar OpenBSD 6.7 yn modi GOARCH=arm en GOARCH=arm64 (earder waarden allinich GOARCH=386 en GOARCH=amd64 stipe).
  • De ûntwikkeling fan it 64-bit RISC-V-platfoarm (GOOS = linux, GOARCH = riscv64) gie troch.
  • Foar 32-bit x86-systemen sil de folgjende release de minimale systeemeasken ferheegje - allinich processors mei SSE2 sille fierder wurde stipe. Om te bouwen yn GOARCH=386-modus sille jo op syn minst in Intel Pentium 4 (útbrocht yn 2000) of in AMD Opteron / Athlon 64 (útbrocht yn 2003) nedich wêze.

Boarne: opennet.ru

Add a comment