Dart 2.15 saapuu eristetyillä ryhmillä, suoritusajan parannuksilla ja paljon muuta

Google julkisti äskettäin julkaisun ohjelmointikielen uusi versio Dart 2.15, joka jatkaa Dart 2:n radikaalisti uudistetun haaran kehitystä ja joka eroaa Dart-kielen alkuperäisestä versiosta vahvan staattisen kirjoituksen avulla (tyypit voidaan päätellä automaattisesti, joten tyyppien määrittämistä ei vaadita, mutta dynaamista kirjoittamista ei enää käytetä ja se lasketaan aluksi, tyyppi määrätään muuttuja ja sitten sovelletaan tiukkaa tyyppitarkistusta).

Tässä uudessa versiossa on toteutettu erilaisia ​​parannuksia ja ennen kaikkea uusia ominaisuuksia, kuten eristettyjä ryhmiä sekä ratkaisuja joihinkin havaittuihin haavoittuvuuksiin.

Dart 2.15: n tärkeimmät uudet ominaisuudet

Tässä uudessa Dart 2.15 -versiossa työkalut tarjotaan tehtävien nopeaan rinnakkaiseen suorittamiseen ohjaimen eristämällä.

Sen lisäksi moniytimisissä järjestelmissä ajonaika Dart oletuksena suorittaa sovelluskoodia CPU-ytimessä ja käyttää muita ytimiä järjestelmätehtävien suorittamiseen kuten asynkroninen I/O, tiedostoihin kirjoittaminen tai verkkopuhelujen soittaminen.

Toinen Dart 2.15:n tuoma uutuus on uusi konsepti, eristettyjä ryhmiä, (eristää ryhmät) mahdollistaa jaetun pääsyn erilaisiin sisäisiin tietorakenteisiin samaan ryhmään kuuluvissa isolaateissa, mikä voi vähentää merkittävästi ylimääräisiä kustannuksia kommunikoitaessa ryhmän edustajien kanssa. Esimerkiksi lisäeristyksen aloittaminen olemassa olevassa poolissa on 100 kertaa nopeampaa ja vaatii 10-100 kertaa vähemmän muistia kuin erillisen eristyksen aloittaminen, jolloin ohjelman tietorakenteita ei tarvitse alustaa.

Huolimatta siitä, että yksittäisissä lohkoissa ryhmässä, jaettu pääsy muuttuviin objekteihin on edelleen kielletty, ryhmät käyttävät jaettua dynaamista muistia, mikä nopeuttaa merkittävästi objektien siirtoa lohkosta toiseen ilman resurssiintensiivisiä kopiointitoimia.

Uudessa versiossa se saa myös välittää ohjaimen työn tuloksen, kun Isolate.exit () kutsutaan siirtää tietoja pääeristyslohkoon suorittamatta kopiointitoimintoja. Lisäksi viestien välitysmekanismia on optimoitu: pienet ja keskikokoiset viestit käsitellään nyt noin 8 kertaa nopeammin. Objektit, jotka voidaan siirtää isolaattien välillä SendPort.send () -kutsun avulla, sisältävät erilaisia ​​toimintoja, sulkemisia ja pinojäljitystä.

Osoittimien luontityökaluissa yksittäisiin toimintoihin muissa objekteissa, tällaisten osoittimien luomista koskevat rajoitukset on poistettu rakentajakoodissa, joka voi olla hyödyllistä luotaessa kirjastoon perustuvia käyttöliittymiä Lepatus.

Kirjasto tikka: ytimessä on parannettu enum-tuki, Voit esimerkiksi nyt luoda merkkijonoarvon kustakin luetteloarvosta ".name"-menetelmällä, saada arvot nimen mukaan tai sovittaa arvopareja.

Se on myös korostettu osoittimen pakkaustekniikka on otettu käyttöönEttä mahdollistaa osoittimien kompaktimman esityksen käytön 64-bittisissä ympäristöissä jos 32-bittinen osoitetila riittää osoitteisiin (muistia ei käytetä enempää kuin 4 Gt). Testit ovat osoittaneet, että tällainen optimointi pienentää kasan kokoa noin 10 %. Flutter SDK:ssa uusi tila on jo oletusarvoisesti käytössä Androidille ja se on tarkoitus ottaa käyttöön iOS:lle tulevassa julkaisussa.

Myös on huomattava, että pub.dev-tietovarasto pystyy nyt peruuttamaan jo julkaistun version paketista esimerkiksi vaarallisten bugien tai haavoittuvuuksien varalta.

Niistä muut muutokset jotka erottuvat:

  • Lisäsuoja haavoittuvuutta (CVE-2021-22567) vastaan, joka johtuu Unicode-merkkien käytöstä, jotka muuttavat koodin näyttöjärjestystä.
  • Korjattu haavoittuvuus (CVE-2021-22568), joka saattoi esiintyä toisena pub.dev-käyttäjänä, kun hän julkaisee paketteja kolmannen osapuolen palvelimelle, joka hyväksyy oauth2-käyttövaltuudet pub.dev:stä.
  • Dart SDK sisältää työkaluja virheenkorjaukseen ja suorituskyvyn analysointiin (DevTools), jotka toimitettiin aiemmin erillisessä paketissa.
  • "dart pub" -komentoon ja pub.dev-pakettivarastoihin lisättiin työkaluja arkaluonteisten tietojen vahingossa tapahtuvan vapautumisen seuraamiseksi, esimerkiksi jatkuvan integroinnin järjestelmien ja pilviympäristöjen tunnistetietojen jättäminen paketin sisällä.
  • Jos tällaisia ​​vuotoja havaitaan, "dart pub publish" -komento pysähtyy ja antaa virheilmoituksen. Väärän hälytyksen sattuessa on mahdollista ohittaa tarkistus valkoisen listan kautta.

lähde: https://medium.com/


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.