Tso Tawm ntawm Go programming lus 1.15

Xa los ntawm programming lus tso tawm Mus 1.15, uas yog tsim los ntawm Google nrog kev koom tes ntawm cov zej zog raws li ib tug hybrid kev daws teeb meem uas combines cov kev ua tau zoo ntawm compiled lus nrog rau qhov zoo ntawm scripting lus xws li yooj yim ntawm kev sau code, ceev ntawm kev loj hlob thiab kev tiv thaiv yuam kev. Qhov project code faib los ntawm raws li BSD daim ntawv tso cai.

Go's syntax yog raws li paub cov ntsiab lus ntawm C lus nrog qee qhov qiv los ntawm Python hom lus. Cov lus yog cov ntsiab lus, tab sis cov cai yooj yim nyeem thiab nkag siab. Go code yog muab tso ua ke rau hauv stand-alone binary executables uas khiav ib txwm tsis siv lub tshuab virtual (profiling, debugging, thiab lwm yam runtime teeb meem nrhiav kom tau subsystems yog integrated li. runtime Cheebtsam), uas tso cai rau koj ua tiav kev ua tau zoo piv rau C cov kev pab cuam.

Qhov project yog pib tsim nrog lub qhov muag rau ntau txoj xov xwm kev ua haujlwm thiab kev ua haujlwm tau zoo ntawm ntau cov tub ntxhais kawm, suav nrog kev muab cov neeg ua haujlwm-qib txhais tau tias rau kev teeb tsa cov lej sib npaug thiab kev sib cuam tshuam ntawm cov txheej txheem sib luag. Cov lus kuj tseem muaj kev tiv thaiv built-in tiv thaiv ntau tshaj kev faib cov cim xeeb blocks thiab muab lub peev xwm los siv cov khoom khib nyiab.

ntsiab kev tsim kho tshiabqhia hauv Go 1.15 tso tawm:

  • Kev ua haujlwm ntawm tus linker tau raug txhim kho zoo, ob qho tib si hauv kev ua kom nrawm ntawm kev ua haujlwm thiab txo qis kev siv lub cim xeeb, thiab hauv cov kev taw qhia ntawm kev txhim kho cov cai yooj yim. Thaum kuaj ntawm kev khiav hauj lwm systems siv ELF executable cov ntaub ntawv hom (Linux, FreeBSD, NetBSD, OpenBSD, Dragonfly, Solaris), ib tug txheej txheem ntawm loj Go daim ntaub ntawv tau tsim 20% sai, thiab nco tau txo los ntawm qhov nruab nrab ntawm 30%. Kev tsim khoom tau nce ntxiv tau ua tiav los ntawm kev hloov mus rau cov khoom siv tshiab cov ntaub ntawv thiab rov ua haujlwm sab hauv theem kom nce qib ntawm kev sib luag ntawm kev ua haujlwm. Cov neeg sib txuas ib txwm tam sim no siv los ntawm lub neej ntawd ntawm linux / amd64 thiab linux / arm64 systems hauv "-buildmode = pie", uas tsis tas yuav tsum tau siv C txuas ntxiv lawm.
  • Hauv lub sijhawm ua haujlwm, kev faib cov khoom me me ntawm cov tshuab nrog ntau tus CPU cores tau txhim kho tau zoo thiab latency tau txo. Nyob rau hauv cov ntaub ntawv ntawm tsis ua hauj lwm, qhov tseem ceeb nrog cov zauv thiab cov hlua hom yog tso tawm es tsis txhob qhia qhov chaw nyob. Thaum xa SIGSEGV, SIGBUS thiab SIGFPE teeb liab mus rau daim ntawv thov Go, thaum tsis muaj ib qho os/signal.Notify handler, daim ntawv thov yuav tawm nrog ib pawg kab tso zis (yav tas los tus cwj pwm tsis tau pom dua).
  • Lub compiler tau ua kom zoo dua los txo qhov loj ntawm cov ntaub ntawv tsim tawm los ntawm qhov nruab nrab ntawm 5% los ntawm kev txwv tsis pub suav nrog qee cov metadata rau cov khib nyiab khib nyiab thiab kev tu ntau ntawm cov metadata tsis siv.
  • Tus chij "-spectre" tau ntxiv rau lub compiler thiab assembler los pab tiv thaiv Spectre class attacks (rau feem ntau cov kev pab cuam no tsis tas yuav tsum tau; enabling qhov kev xaiv yuav tsuas yog tsim nyog rau qee qhov tshwj xeeb heev).
  • Hauv X.509 daim ntawv pov thawj, CommonName teb tau raug tshem tawm, uas tsis raug kho raws li lub npe tswv tsev yog tias qhov Kev Xaiv Cov Npe tsis raug.
  • Cov lus txib "mus" hauv GOPROXY ib puag ncig hloov pauv tam sim no tuaj yeem sau ntau tus neeg sawv cev, sib cais los ntawm tus lej cim lossis "|". Yog tias thawj tus neeg sawv cev hauv daim ntawv xa rov qab qhov yuam kev (404 lossis 410), ces yuav tsum sim hu rau tus thib ob npe, thiab lwm yam.
  • vet utility tau ntxiv cov lus ceeb toom txog kev sim hloov los ntawm txoj hlua (x) yog "x" yog hom lej uas tsis yog rune lossis byte.
  • Tus chij "-gnu" tau ntxiv rau objdump kev siv hluav taws xob los txhawb kev disassembling GNU assembler syntax.
  • Cov pob tshiab ntxiv time/tzdata, uas tso cai rau koj los ua ke cov ntaub ntawv nrog cov ntaub ntawv hauv lub sijhawm rau hauv qhov kev pab cuam.
  • Los ntawm cov ntaub ntawv thiab cov ntaub ntawv tshem tawm cov kab lus whitelist / blacklist thiab tus tswv / qhev, uas tam sim no hloov los ntawm "allowlist", "blocklist", "process", "pty", "proc" thiab "tswj".
  • Ib feem loj ntawm kev txhim kho me me tau ua rau lub tsev qiv ntawv tus qauv.
  • Ntxiv kev txhawb nqa rau OpenBSD 6.7 hauv GOARCH = caj npab thiab GOARCH = arm64 hom (yav dhau los tsuas yog GOARCH = 386 thiab GOARCH = amd64 tau txais kev txhawb nqa).
  • Kev txhim kho ntawm 64-ntsis RISC-V platform (GOOS = linux, GOARCH = riscv64) txuas ntxiv mus.
  • Rau 32-ntsis x86 systems, qhov kev tso tawm tom ntej no yuav nce qhov tsawg kawg nkaus qhov yuav tsum tau ua - tsuas yog cov txheej txheem nrog SSE2 tseem yuav tau txais kev txhawb nqa ntxiv. Txhawm rau tsim hauv GOARCH = 386 hom koj yuav xav tau tsawg kawg yog Intel Pentium 4 (tso tawm xyoo 2000) lossis AMD Opteron / Athlon 64 (tso tawm xyoo 2003).

Tau qhov twg los: opennet.ru

Ntxiv ib saib