Dart 2.15 ateina su atskirtomis grupėmis, vykdymo patobulinimais ir dar daugiau

Neseniai „Google“ pristatė savo pristatymą nauja programavimo kalbos versija Dart 2.15, kuris tęsia radikaliai pertvarkytą Dart 2 atšaką ir kuri skiriasi nuo originalios Dart kalbos versijos naudojant stiprų statinį spausdinimą (tipus galima nustatyti automatiškai, todėl tipų nurodyti nereikia, tačiau dinaminis spausdinimas nebenaudojamas ir iš pradžių apskaičiuojamas, tipas priskiriamas kintamasis ir tada taikoma griežta tipo patikra).

Šioje naujoje versijoje buvo įdiegti įvairūs patobulinimai ir, svarbiausia, kai kurios naujos funkcijos, pvz., izoliuotos grupės, taip pat kai kurių aptiktų pažeidžiamumų sprendimai.

Pagrindinės naujos „Dart 2.15“ funkcijos

Šioje naujoje Dart 2.15 versijoje numatyti įrankiai greitam lygiagrečiam užduočių vykdymui su valdiklio izoliacija.

neskaitant to kelių branduolių sistemose – vykdymo laikas Smiginis, pagal numatytuosius nustatymus, paleidžia programos kodą procesoriaus branduolyje ir naudoja kitus branduolius sistemos užduotims atlikti pvz., asinchroninis įvestis / išvestis, rašymas į failus arba tinklo skambučiai.

Kita naujovė, kurią pristato Dart 2.15, yra nauja koncepcija, izoliuotos grupės, (izoliuoti grupes) leidžianti bendrai naudotis įvairiomis vidinių duomenų struktūromis izoliatuose, priklausančiuose tai pačiai grupei, kuri gali žymiai sumažinti bendravimo su agentais grupėje išlaidas. Pavyzdžiui, pradėti papildomą atskirtį esamame telkinyje yra 100 kartų greičiau ir reikia 10–100 kartų mažiau atminties nei inicijuojant atskirą izoliaciją, todėl nebereikia inicijuoti programos duomenų struktūrų.

Nepaisant to, kad atskiruose blokuose grupėje, bendra prieiga prie keičiamų objektų vis dar draudžiama, grupės naudoja bendrą dinaminę atmintį, žymiai pagreitinant objektų perkėlimą iš vieno bloko į kitą, nereikalaujant daug išteklių reikalaujančių kopijavimo operacijų.

Naujojoje versijoje taip pat leidžiama perduoti valdiklio darbo rezultatą, kai iškviečiamas Isolate.exit (). perduoti duomenis į pagrindinį izoliavimo bloką neatliekant kopijavimo operacijų. Be to, atliktas pranešimų perdavimo mechanizmo optimizavimas: mažos ir vidutinės žinutės dabar apdorojamos maždaug 8 kartus greičiau. Objektai, kuriuos galima perduoti tarp izoliatų naudojant SendPort.send () iškvietimą, apima įvairių tipų funkcijas, uždarymus ir kamino pėdsakus.

Rodyklės kūrimo priemonėse atskiroms funkcijoms kituose objektuose, buvo panaikinti apribojimai kurti tokias nuorodas konstruktoriaus kode, kuris gali būti naudinga kuriant bibliotekų sąsajas Plazdėjimas.

Biblioteka smiginis: šerdis turi patobulintą enum palaikymą, Pavyzdžiui, dabar galite sugeneruoti eilutės reikšmę iš kiekvienos išvardijimo reikšmės naudodami metodą ".name", gauti reikšmes pagal pavadinimą arba suderinti reikšmių poras.

Taip pat pabrėžiama buvo įdiegta rodyklės suspaudimo technikaKad leidžia naudoti kompaktiškesnį rodyklių atvaizdavimą 64 bitų aplinkoje jei adresavimui pakanka 32 bitų adresų erdvės (naudojama ne daugiau kaip 4 GB atminties). Bandymai parodė, kad toks optimizavimas sumažina krūvos dydį maždaug 10%. „Flutter SDK“ naujasis režimas jau įgalintas „Android“ pagal numatytuosius nustatymus ir planuojama jį įjungti „iOS“ ateityje.

Toliau pažymima, kad pub.dev saugykla dabar turi galimybę atšaukti jau paskelbtą versiją paketo, pavyzdžiui, pavojingų klaidų ar pažeidžiamumų atveju.

kiti pokyčiai kad išsiskiria:

  • Papildoma apsauga nuo pažeidžiamumo (CVE-2021-22567), atsirandančio dėl unikodo simbolių, kurie keičia rodymo tvarką kode, naudojimo.
  • Ištaisytas pažeidžiamumas (CVE-2021-22568), galintis apsimesti kitu pub.dev vartotoju, kai skelbia paketus trečiosios šalies serveryje, kuris priima oauth2 prieigos prieigos raktus iš pub.dev.
  • Dart SDK apima derinimo ir našumo analizės įrankius (DevTools), kurie anksčiau buvo pateikti atskirame pakete.
  • Prie komandos „dart pub“ ir „pub.dev“ paketo saugyklų buvo pridėti įrankiai, skirti stebėti atsitiktinį neskelbtinos informacijos išleidimą, pavyzdžiui, pakete paliekami nuolatinio integravimo sistemų ir debesų aplinkos kredencialai.
  • Jei tokie nutekėjimai randami, komanda „dart pub publish“ sustos ir pasirodys klaidos pranešimas. Klaidingo aliarmo atveju galima praleisti patikrinimą per baltąjį sąrašą.

Fuente: https://medium.com/


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.