Dart 2.15 prihaja z izoliranimi skupinami, izboljšavami izvajanja in še več

Google je pred kratkim predstavil lansiranje novo različico programskega jezika Dart 2.15, ki nadaljuje razvoj radikalno prenovljene veje Dart 2 in se od prvotne različice jezika Dart razlikuje po uporabi močnega statičnega tipkanja (vrste je mogoče sklepati samodejno, zato določanje tipov ni potrebno, vendar se dinamično tipkanje ne uporablja več in se na začetku izračuna, tip je dodeljen spremenljivka, nato pa se uporabi strogo preverjanje tipa).

V tej novi različici so bile implementirane različne izboljšave, predvsem pa uvedba nekaterih novih funkcij, kot so izolirane skupine in tudi rešitve za nekatere odkrite ranljivosti.

Glavne nove funkcije programa Dart 2.15

V tej novi različici Dart 2.15 Na voljo so orodja za hitro vzporedno izvajanje nalog z izolacijo krmilnika.

Poleg tega v večjedrnih sistemih, čas izvajanja Dart, privzeto, izvaja kodo aplikacije na jedru CPE in uporablja druga jedra za izvajanje sistemskih nalog kot so asinhroni V/I, pisanje v datoteke ali omrežni klici.

Druga novost, ki jo uvaja Dart 2.15, je nov koncept, izolirane skupine, (izolirajte skupine) omogoča skupen dostop do različnih notranjih podatkovnih struktur v izolatih, ki pripadajo isti skupini, kar lahko znatno zmanjša režijske stroške pri komunikaciji z agenti v skupini. Na primer, začetek dodatne izolacije v obstoječem področju je 100-krat hitrejši in zahteva 10 do 100-krat manj pomnilnika kot zagon ločene izolacije, kar odpravlja potrebo po inicializaciji programskih podatkovnih struktur.

Kljub temu, da v izoliranih blokih v skupini, skupni dostop do spremenljivih objektov je še vedno prepovedan, skupine uporabljajo skupni dinamični pomnilnik, kar znatno pospeši prenos predmetov iz enega bloka v drugega brez potrebe po kopirnih operacijah, ki zahtevajo veliko virov.

V novi različici dovoljeno je tudi posredovati rezultat dela krmilnika, ko se kliče Isolate.exit (). za posredovanje podatkov v glavni izolacijski blok brez izvajanja operacij kopiranja. Poleg tega je bila izvedena optimizacija mehanizma za prenos sporočil: mala in srednja sporočila se zdaj obdelujejo približno 8-krat hitreje. Objekti, ki jih je mogoče posredovati med izolati s klicem SendPort.send (), vključujejo različne vrste funkcij, zapiranja in sledi sklada.

V orodjih za ustvarjanje kazalcev na posamezne funkcije v drugih objektih, omejitve pri ustvarjanju takšnih kazalcev so bile odstranjene v kodi konstruktorja, ki je lahko uporabno pri ustvarjanju vmesnikov na podlagi knjižnice Trepetanje.

Knjižnica dart: jedro je izboljšalo podporo enum, zdaj lahko na primer ustvarite vrednost niza iz vsake vrednosti štetja z uporabo metode ".name", pridobite vrednosti po imenu ali se ujemate s pari vrednosti.

Poudarjeno je tudi, da implementirana je tehnika stiskanja kazalcaTo omogoča uporabo bolj kompaktne predstavitve kazalcev v 64-bitnih okoljih če za naslavljanje zadostuje 32-bitni naslovni prostor (uporabljeno je največ 4 GB pomnilnika). Testi so pokazali, da takšna optimizacija zmanjša velikost kopice za približno 10 %. V SDK-ju Flutter je nov način privzeto že omogočen za Android, v prihodnji izdaji pa naj bi bil omogočen za iOS.

Nadalje omenjeno je, da ima repozitorij pub.dev zdaj možnost preklica že objavljene različice paketa, na primer v primeru nevarnih hroščev ali ranljivosti.

Od druge spremembe ki izstopajo:

  • Dodatna zaščita pred ranljivostjo (CVE-2021-22567), ki jo povzroča uporaba znakov Unicode, ki spreminjajo vrstni red prikaza v kodi.
  • Odpravljena je ranljivost (CVE-2021-22568), ki bi lahko lažno predstavljala drugega uporabnika pub.dev, ko objavlja pakete na strežniku drugega proizvajalca, ki sprejema žetone za dostop oauth2 iz pub.dev.
  • Dart SDK vključuje orodja za odpravljanje napak in analizo zmogljivosti (DevTools), ki so bila prej dostavljena v ločenem paketu.
  • Ukazu "dart pub" in repozitoriji paketov pub.dev so bila dodana orodja za sledenje nenamerni sprostitvi občutljivih informacij, na primer puščanje poverilnic za sisteme za stalno integracijo in okolja v oblaku znotraj paketa.
  • Če se odkrije taka puščanja, se bo ukaz "dart pub publish" ustavil s sporočilom o napaki. V primeru lažnega alarma je možno preverjanje prek belega seznama preskočiti.

vir: https://medium.com/


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.