Derxistina zimanê bernamenûsê Go 1.14

Nasandin serbestberdana zimanê bernamekirinê Go 1.14, ku ji hêla Google ve bi beşdariya civakê ve wekî çareseriyek hîbrîd tê pêşve xistin ku performansa bilind a zimanên berhevkirî bi avantajên zimanên nivîsandinê yên wekî hêsaniya nivîsandina kodê, leza pêşkeftinê û parastina xeletiyê re dike yek. Koda projeyê belav kirin ji hêla di bin lîsansa BSD de.

Hevoksaziya Go li ser hêmanên naskirî yên zimanê C-yê bi hin deynên ji zimanê Python-ê ve girêdayî ye. Ziman pir kurt e, lê kod hêsan e ku meriv were xwendin û fêm kirin. Koda Go-yê di nav lêkerên binaryê yên serbixwe yên ku bi xwemalî bêyî karanîna makîneyek virtual dimeşin tê berhev kirin (profilkirin, debugkirin, û binepergalên din ên tespîtkirina pirsgirêka dema xebitandinê wekî hev têne yek kirin pêkhateyên runtime), ya ku dihêle hûn performansa bi bernameyên C-yê re bigihîjin hev.

Proje di destpêkê de bi çavek bernamesaziya pir-mijarî û xebata bikêrhatî ya li ser pergalên pir-bingehîn, di nav de peydakirina rêgezên di asta operatorê de ji bo organîzekirina hesabkirina paralel û danûstendina di navbera rêbazên paralel-rêveberî de tête pêşve xistin. Ziman di heman demê de parastina çêkirî li hember blokên bîranînê yên zêde veqetandî peyda dike û şiyana karanîna berhevkerek çopê peyda dike.

sereke nûbûnêndi berdana Go 1.14 de hatî destnîşan kirin:

  • Pergala modulê ya nû di fermana "go" de ji bo karanîna gelemperî amade ye, ji hêla xwerû ve hatî çalak kirin, û ji bo rêveberiya girêdayîbûnê li şûna GOPATH tê pêşniyar kirin. Pergala modulê ya nû piştgirîya guhertoya yekbûyî, kapasîteyên radestkirina pakêtê, û rêveberiya pêwendiyê ya çêtir vedihewîne. Bi modulan re, pêşdebir êdî bi xebata di hundurê dara GOPATH de ne girêdayî ne, dikarin bi eşkere ve girêdayî girêdanên guhertoyan destnîşan bikin, û avahiyên dubarekirî biafirînin.
  • Zêde kirin piştgirî ji bo pêvekirina navbeynkaran bi komek rêbazan ve girêdayî. Rêbazên ji navgînek çêkirî naha dikarin heman nav û îmzeyan wekî rêbazên di navgînên heyî de hebin. Rêbazên ku bi eşkere hatine ragihandin wekî berê bêhempa dimînin.
  • Performansa îfadeya "defer" çêtir bûye, ku ew hema hema bi qasî ku rasterast gazîkirina fonksiyonek paşvexistî bilez dike, di koda hesas a performansê de rê dide pêkanîna fonksiyona paşverû.
  • Pêşgiriya asînkron a korûtînan (gorûtîn) tê peyda kirin - lûpên ku bangên fonksiyonê nagirin naha dikarin bi potansiyel bibin sedema xitimandina plansazker an jî derengkirina destpêkirina berhevkirina çopê.
  • Karbidestiya pergala veqetandina rûpela bîranînê baştir bûye û naha di mîhengên bi nirxên GOMAXPROCS yên mezin de nakokiyên qefilandinê pir hindiktir hene. Di encamê de dereng kêm dibe û berbi zêde dibe û di heman demê de blokên mezin ên bîranînê bi giranî belav dike.
  • Girtîkirin hatiye xweşbîn kirin û dema ku demjimêrên hundurîn ên ku di wextê de têne bikar anîn têne xebitandin hejmara guheztinên kontekstê kêm bûne.Piştî, dem.Tick, net.Conn.SetDeadline fonksiyonên.
  • Di fermana go de, ala "-mod=vendor" ji hêla xwerû ve tê çalak kirin heke di root de pelrêçek firoşkar hebe, ku ji bo radestkirina girêdayiyên derveyî yên bi firoşkarek taybetî ve girêdayî ye. Alayek "-mod=mod" ya cihê lê zêde kir da ku modulan ji pelrêça "firoşker" ne ji pelrêça "firoşker" bar bike. Ger pelê go.mod tenê-xwendin be, ala "-mod=readonly" ji hêla xwerû ve tête danîn heke pelrêça "firoşker" ya jorîn tune be. Alaya "-modfile=pel" lê zêde kir da ku li şûna pelê pelrêça bingehîn a modulê pelek go.mod a alternatîf diyar bike.
  • Guherbara jîngehê GOINSECURE lê zêde kir, dema ku hate danîn, fermana go hewce nake ku HTTPS bikar bîne û dema ku modulan rasterast bar dike ji kontrolkirina sertîfîkayê derbas dibe.
  • Berhevkar ala "-d=checkptr" lê zêde kiriye, ku ji hêla xwerû ve hatî çalak kirin, ji bo ku kodê li gorî qaîdeyên ji bo karanîna ewledar a neewle kontrol bike.Pointer.
  • Di radestkirinê de pakêtek nû heye hash/maphash bi fonksiyonên hash-a ne-cryptographic ku ji bo rêzikên beyt an rêzikên keyfî tabloyên hash çêbikin.
  • Piştgiriya ceribandinê ji bo platforma 64-bit RISC-V li ser Linux zêde kir.
  • Piştgiriya FreeBSD li ser pergalên ARM-ê yên 64-bit zêde kir.

Source: opennet.ru

Add a comment