Dart 2.15 vjen me grupe të izoluara, përmirësime në kohën e ekzekutimit dhe më shumë

Google së fundmi zbuloi lançimin e versioni i ri i gjuhës së programimit Dart 2.15, i cili vazhdon zhvillimin e një dege të ridizajnuar rrënjësisht të Dart 2 dhe që ndryshon nga versioni origjinal i gjuhës Dart nga përdorimi i shtypjes së fortë statike (llojet mund të konkludohen automatikisht, kështu që nuk kërkohet specifikimi i llojeve, por shtypja dinamike nuk përdoret më dhe llogaritet fillimisht, lloji i caktohet variabël dhe më pas aplikohet një kontroll i rreptë i tipit).

Në këtë version të ri janë zbatuar përmirësime të ndryshme dhe mbi të gjitha futja e disa veçorive të reja si grupe të izoluara dhe gjithashtu zgjidhje për disa dobësi të zbuluara.

Karakteristikat kryesore të reja të Dart 2.15

Në këtë version të ri të Dart 2.15 ofrohen mjete për ekzekutimin e shpejtë paralel të detyrave me izolim të kontrolluesit.

Përveç kësaj në sistemet me shumë bërthama, koha e funksionimit Dart, si parazgjedhje, ekzekuton kodin e aplikacionit në një bërthamë CPU dhe përdor bërthama të tjera për të kryer detyrat e sistemit të tilla si I/O asinkrone, shkrimi në skedarë ose kryerja e thirrjeve në rrjet.

Një tjetër risi që prezanton Dart 2.15 është një koncept i ri, grupe të izoluara, (izoloni grupet) duke lejuar akses të përbashkët në struktura të ndryshme të brendshme të të dhënave në izolimet që i përkasin të njëjtit grup, të cilat mund të zvogëlojnë ndjeshëm shpenzimet e përgjithshme kur komunikoni me agjentët në një grup. Për shembull, fillimi i një izolimi shtesë në një grup ekzistues është 100 herë më i shpejtë dhe kërkon 10 deri në 100 herë më pak memorie sesa fillimi i një izolimi të veçantë, duke eliminuar nevojën për të inicializuar strukturat e të dhënave të programit.

Pavarësisht nga fakti se në blloqe të izoluara në një grup, Aksesi i përbashkët në objekte të ndryshueshme është ende i ndaluar, grupet përdorin memorie dinamike të përbashkët, duke përshpejtuar ndjeshëm transferimin e objekteve nga një bllok në tjetrin pa pasur nevojë për operacione kopjimi me burime intensive.

Në versionin e ri, lejohet edhe kalimi i rezultatit të punës së kontrolluesit kur thirret Isolate.dalja (). për të kaluar të dhënat në bllokun kryesor të izolimit pa kryer operacione kopjimi. Përveç kësaj, është kryer optimizimi i mekanizmit të transmetimit të mesazheve: mesazhet e vogla dhe të mesme tani përpunohen afërsisht 8 herë më shpejt. Objektet që mund të kalohen ndërmjet izolimeve duke përdorur thirrjen SendPort.send () përfshijnë lloje të ndryshme funksionesh, mbylljesh dhe gjurmësh rafte.

Në veglat për krijimin e pointerëve për funksionet individuale në objekte të tjera, kufizimet për krijimin e treguesve të tillë janë hequr në kodin e konstruktorit, i cili mund të jetë i dobishëm kur krijoni ndërfaqe të bazuara në bibliotekë Flutter

Librari shigjetë: thelbi ka përmirësuar mbështetjen e numrit, për shembull, tani mund të gjeneroni një vlerë vargu nga çdo vlerë numërimi duke përdorur metodën ".name", të merrni vlera sipas emrit ose të përputhni çiftet e vlerave.

Theksohet gjithashtu se është zbatuar një teknikë e ngjeshjes së treguesitju lejon të përdorni një paraqitje më kompakte të treguesve në mjediset 64-bit nëse hapësira e adresave 32-bit është e mjaftueshme për adresim (përdoret jo më shumë se 4 GB memorie). Testet kanë treguar se një optimizim i tillë zvogëlon madhësinë e grumbullit me afërsisht 10%. Në Flutter SDK, modaliteti i ri është aktivizuar tashmë për Android si parazgjedhje dhe planifikohet ta aktivizojë atë për iOS në një version të ardhshëm.

Me tutje vihet re se depoja pub.dev tani ka mundësinë të revokojë një version tashmë të publikuar të një pakete, për shembull, në rast të gabimeve ose dobësive të rrezikshme.

ndryshime të tjera që bien në sy:

  • Mbrojtje shtesë kundër cenueshmërisë (CVE-2021-22567) e shkaktuar nga përdorimi i karaktereve Unicode që ndryshojnë rendin e shfaqjes në kod.
  • Rregulloi një dobësi (CVE-2021-22568) që mund të imitojë një përdorues tjetër të pub.dev kur publikon paketat në një server të palës së tretë që pranon tokenat e aksesit oauth2 nga pub.dev.
  • Dart SDK përfshin mjete për korrigjimin e gabimeve dhe analizën e performancës (DevTools), të cilat më parë ishin dorëzuar në një paketë të veçantë.
  • Mjetet iu shtuan komandës "dart pub" dhe magazinat e paketave pub.dev për të gjurmuar lëshimin aksidental të informacionit të ndjeshëm, për shembull duke lënë kredencialet për sistemet e integrimit të vazhdueshëm dhe mjediset cloud brenda paketës.
  • Nëse zbulohen rrjedhje të tilla, komanda "publikoni shigjetën" do të ndalojë me një mesazh gabimi. Në rast alarmi të rremë, është e mundur të anashkaloni kontrollin përmes listës së bardhë.

Fuente: https://medium.com/


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.