Dart 2.15 kommer med isolerade grupper, körtidsförbättringar och mer

Google presenterade nyligen lanseringen av ny version av programmeringsspråket Dart 2.15, som fortsätter utvecklingen av en radikalt omdesignad gren av Dart 2 och som skiljer sig från den ursprungliga versionen av Dart-språket genom att använda stark statisk typning (typer kan härledas automatiskt, så att specificera typer krävs inte, men dynamisk typning används inte längre och beräknas initialt, typen tilldelas till variabel och sedan tillämpas en strikt typkontroll).

I denna nya version har olika förbättringar implementerats och framförallt introduktion av några nya funktioner som isolerade grupper och även lösningar på några upptäckta sårbarheter.

Nya funktioner i Dart 2.15

I den här nya versionen av Dart 2.15 verktyg tillhandahålls för snabb parallellkörning av uppgifter med styrenhetsisolering.

Förutom det i flerkärniga system, körtiden Dart, som standard, kör applikationskod på en CPU-kärna och använder andra kärnor för att utföra systemuppgifter såsom asynkron I/O, skriva till filer eller ringa nätverkssamtal.

En annan nyhet som Dart 2.15 introducerar är ett nytt koncept, isolerade grupper, (isolera grupper) ger delad åtkomst till olika interna datastrukturer i isolat som tillhör samma grupp, vilket avsevärt kan minska omkostnaderna vid kommunikation med agenter i en grupp. Till exempel är det 100 gånger snabbare att starta en ytterligare isolering på en befintlig pool och kräver 10 till 100 gånger mindre minne än att initiera en separat isolering, vilket eliminerar behovet av att initiera programdatastrukturer.

Trots det faktum att i isolerade block i en grupp, delad åtkomst till föränderliga objekt är fortfarande förbjuden, grupper använder delat dynamiskt minne, vilket avsevärt påskyndar överföringen av objekt från ett block till ett annat utan behov av resurskrävande kopieringsoperationer.

I den nya versionen, det är också tillåtet att skicka över resultatet av styrenhetens arbete när Isolate.exit () anropas att skicka data till huvudisoleringsblocket utan att utföra kopieringsoperationer. Dessutom har optimering av meddelandeöverföringsmekanismen utförts: små och medelstora meddelanden behandlas nu ungefär 8 gånger snabbare. Objekten som kan skickas mellan isolat med anropet SendPort.send () inkluderar olika typer av funktioner, stängningar och stackspårningar.

I verktygen för att skapa pekare till enskilda funktioner i andra objekt, restriktioner för att skapa sådana pekare har tagits bort i konstruktorkoden, som kan vara användbart när du skapar gränssnitt baserat på biblioteket Fladdra.

Bibliotek dart: core har förbättrat enum-stöd, till exempel kan du nu generera ett strängvärde från varje uppräkningsvärde med ".name"-metoden, hämta värden efter namn eller matcha värdepar.

Det framhävs också att en pekarkomprimeringsteknik har implementeratsAtt gör det möjligt att använda en mer kompakt representation av pekare i 64-bitarsmiljöer om 32-bitars adressutrymme är tillräckligt för adressering (högst 4 GB minne används). Tester har visat att sådan optimering minskar högstorleken med cirka 10 %. I Flutter SDK är det nya läget redan aktiverat för Android som standard och det är planerat att aktiveras för iOS i en framtida version.

också det noteras att pub.dev-förrådet nu har möjlighet att återkalla en redan publicerad version av ett paket, till exempel vid farliga buggar eller sårbarheter.

Av andra förändringar som sticker ut:

  • Ytterligare skydd mot sårbarhet (CVE-2021-22567) orsakat av användning av Unicode-tecken som ändrar visningsordningen i koden.
  • Åtgärdat en sårbarhet (CVE-2021-22568) som kunde utge sig för att vara en annan pub.dev-användare vid publicering av paket till en tredjepartsserver som accepterar oauth2-åtkomsttokens från pub.dev.
  • Dart SDK innehåller verktyg för felsökning och prestandaanalys (DevTools), som tidigare levererades i ett separat paket.
  • Verktyg lades till "dart pub"-kommandot och pub.dev-paketförråden för att spåra oavsiktlig frigivning av känslig information, till exempel för att lämna autentiseringsuppgifter för kontinuerliga integrationssystem och molnmiljöer i paketet.
  • Om sådana läckor hittas kommer kommandot "dart pub publish" att sluta med ett felmeddelande. Vid falsklarm går det att hoppa över kontrollen via den vita listan.

Fuente: https://medium.com/


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.