Dart 2.15 stiže s izoliranim grupama, poboljšanjima vremena izvođenja i još mnogo toga

Google je nedavno predstavio lansiranje nova verzija programskog jezika Dart 2.15, koji nastavlja razvoj radikalno redizajnirane grane Dart 2 i koji se razlikuje od izvorne verzije Dart jezika upotrebom snažnog statičkog tipkanja (tipovi se mogu zaključiti automatski, tako da navođenje tipova nije potrebno, ali se dinamičko tipkanje više ne koristi i početno se izračunava, tip se dodjeljuje varijabla i tada se primjenjuje stroga provjera tipa).

U ovoj novoj verziji implementirana su razna poboljšanja i prije svega uvođenje nekih novih značajki kao što su izolirane grupe te također rješenja za neke otkrivene ranjivosti.

Glavne nove značajke Dart 2.15

U ovoj novoj verziji Dart 2.15 osigurani su alati za brzo paralelno izvršavanje zadataka s izolacijom kontrolera.

osim toga u višejezgrenim sustavima, vrijeme izvođenja Dart, prema zadanim postavkama, pokreće programski kod na CPU jezgri i koristi druge jezgre za obavljanje zadataka sustava kao što je asinkroni I/O, pisanje u datoteke ili upućivanje mrežnih poziva.

Još jedna novost koju Dart 2.15 uvodi je novi koncept, izolirane skupine, (izolirati grupe) dopuštajući zajednički pristup različitim internim strukturama podataka u izolatima koji pripadaju istoj skupini, što može značajno smanjiti troškove pri komunikaciji s agentima u skupini. Na primjer, pokretanje dodatne izolacije na postojećem skupu je 100 puta brže i zahtijeva 10 do 100 puta manje memorije od pokretanja zasebne izolacije, eliminirajući potrebu za inicijalizacijom struktura podataka programa.

Unatoč činjenici da u izoliranim blokovima u skupini, zajednički pristup promjenjivim objektima i dalje je zabranjen, grupe koriste zajedničku dinamičku memoriju, značajno ubrzavajući prijenos objekata iz jednog bloka u drugi bez potrebe za operacijama kopiranja koje zahtijevaju velike resurse.

U novoj verziji, također je dopušteno proslijediti rezultat rada kontrolera kada se pozove Isolate.exit (). za prosljeđivanje podataka glavnom izolacijskom bloku bez izvođenja operacija kopiranja. Osim toga, izvršena je optimizacija mehanizma prijenosa poruka: male i srednje poruke sada se obrađuju otprilike 8 puta brže. Objekti koji se mogu prosljeđivati ​​između izolata pomoću poziva SendPort.send () uključuju različite vrste funkcija, zatvaranja i tragova stoga.

U alatima za izradu pokazivača na pojedine funkcije u drugim objektima, uklonjena su ograničenja za stvaranje takvih pokazivača u kodu konstruktora, koji može biti korisno pri stvaranju sučelja na temelju biblioteke Lepršanje.

Knjižnica dart: jezgra je poboljšala enum podršku, na primjer, sada možete generirati vrijednost niza iz svake vrijednosti nabrajanja pomoću metode ".name", dobiti vrijednosti po imenu ili podudarati parove vrijednosti.

Također je istaknuto da implementirana je tehnika kompresije pokazivačaDa omogućuje korištenje kompaktnijeg prikaza pokazivača u 64-bitnim okruženjima ako je 32-bitni adresni prostor dovoljan za adresiranje (ne koristi se više od 4 GB memorije). Testovi su pokazali da takva optimizacija smanjuje veličinu hrpe za otprilike 10%. U Flutter SDK-u, novi način rada je već omogućen za Android prema zadanim postavkama i planira se omogućiti za iOS u budućem izdanju.

Unaprijediti napominje se da spremište pub.dev sada ima mogućnost opoziva već objavljenu verziju paketa, na primjer, u slučaju opasnih grešaka ili ranjivosti.

Od ostale promjene koji se ističu:

  • Dodatna zaštita od ranjivosti (CVE-2021-22567) uzrokovane upotrebom Unicode znakova koji mijenjaju redoslijed prikaza u kodu.
  • Ispravljena je ranjivost (CVE-2021-22568) koja je mogla oponašati drugog korisnika pub.dev prilikom objavljivanja paketa na poslužitelju treće strane koji prihvaća pristupne tokene oauth2 s pub.dev.
  • Dart SDK uključuje alate za otklanjanje pogrešaka i analizu performansi (DevTools), koji su prethodno bili isporučeni u zasebnom paketu.
  • Alati su dodani naredbi "dart pub" i repozitoriji paketa pub.dev za praćenje slučajnog puštanja osjetljivih informacija, na primjer ostavljanje vjerodajnica za sustave kontinuirane integracije i okruženja u oblaku unutar paketa.
  • Ako se pronađu takva curenja, naredba "dart pub publish" prestat će s porukom o pogrešci. U slučaju lažnog alarma moguće je preskočiti provjeru putem bijele liste.

izvor: https://medium.com/


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.