Dart 2.15 kommer med isolerede grupper, runtime-forbedringer og mere

Google afslørede for nylig lanceringen af ny version af programmeringssproget Dart 2.15, som fortsætter udviklingen af ​​en radikalt redesignet gren af ​​Dart 2 og som adskiller sig fra den originale version af Dart-sproget ved brugen af ​​stærk statisk skrivning (typer kan udledes automatisk, så det er ikke nødvendigt at angive typer, men dynamisk skrivning bruges ikke længere og beregnes oprindeligt, typen tildeles til variabel, og derefter anvendes en streng typekontrol).

I denne nye version er der implementeret forskellige forbedringer og frem for alt introduktionen af ​​nogle nye funktioner såsom isolerede grupper og også løsninger på nogle opdagede sårbarheder.

Vigtigste nye funktioner i Dart 2.15

I denne nye version af Dart 2.15 værktøjer leveres til hurtig parallel udførelse af opgaver med controller isolation.

udover det i multi-core systemer, runtime Dart, som standard, kører applikationskode på en CPU-kerne og bruger andre kerner til at udføre systemopgaver såsom asynkron I/O, skrivning til filer eller foretage netværksopkald.

En anden nyhed, som Dart 2.15 introducerer, er et nyt koncept, isolerede grupper, (isoler grupper) giver delt adgang til forskellige interne datastrukturer i isolater, der tilhører samme gruppe, hvilket kan reducere overheaden betydeligt ved kommunikation med agenter i en gruppe. For eksempel er det 100 gange hurtigere at starte en ekstra isolation på en eksisterende pool og kræver 10 til 100 gange mindre hukommelse end at starte en separat isolation, hvilket eliminerer behovet for at initialisere programdatastrukturer.

På trods af det faktum, at i isolerede blokke i en gruppe, delt adgang til mutable objekter er stadig forbudt, grupper bruger delt dynamisk hukommelse, der markant fremskynder overførslen af ​​objekter fra en blok til en anden uden behov for ressourcekrævende kopieringsoperationer.

I den nye version, det er også tilladt at videregive resultatet af controllerens arbejde, når Isolate.exit () kaldes at sende data til hovedisolationsblokken uden at udføre kopihandlinger. Derudover er der udført optimering af meddelelsestransmissionsmekanismen: små og mellemstore meddelelser behandles nu cirka 8 gange hurtigere. De objekter, der kan overføres mellem isolater ved hjælp af SendPort.send ()-kaldet omfatter forskellige typer funktioner, lukninger og stakspor.

I værktøjerne til at skabe pointers til individuelle funktioner i andre objekter, restriktioner for oprettelse af sådanne pointere er blevet fjernet i konstruktørkoden, som kan være nyttigt, når du opretter grænseflader baseret på biblioteket Flagrer.

Bibliotek dart: core har forbedret enum support, for eksempel kan du nu generere en strengværdi fra hver opregningsværdi ved at bruge ".name"-metoden, hente værdier efter navn eller matche værdipar.

Det fremhæves også, at en pointer-komprimeringsteknik er blevet implementeretDet giver mulighed for at bruge en mere kompakt repræsentation af pointere i 64-bit miljøer hvis 32-bit adresseplads er tilstrækkelig til adressering (der bruges ikke mere end 4 GB hukommelse). Tests har vist, at en sådan optimering reducerer bunkens størrelse med ca. 10 %. I Flutter SDK er den nye tilstand allerede aktiveret for Android som standard, og den er planlagt til at blive aktiveret for iOS i en fremtidig udgivelse.

Også det bemærkes, at pub.dev-lageret nu har mulighed for at tilbagekalde en allerede offentliggjort version af en pakke, for eksempel i tilfælde af farlige fejl eller sårbarheder.

Af andre ændringer der skiller sig ud:

  • Yderligere beskyttelse mod sårbarhed (CVE-2021-22567) forårsaget af brugen af ​​Unicode-tegn, der ændrer visningsrækkefølgen i koden.
  • Rettede en sårbarhed (CVE-2021-22568), der kunne efterligne en anden pub.dev-bruger, når pakker blev udgivet til en tredjepartsserver, der accepterer oauth2-adgangstokens fra pub.dev.
  • Dart SDK indeholder værktøjer til fejlfinding og ydeevneanalyse (DevTools), som tidligere blev leveret i en separat pakke.
  • Værktøjer blev føjet til kommandoen "dart pub" og pub.dev-pakkelagrene for at spore utilsigtet frigivelse af følsomme oplysninger, for eksempel ved at efterlade legitimationsoplysninger til kontinuerlige integrationssystemer og cloud-miljøer i pakken.
  • Hvis sådanne lækager findes, stopper kommandoen "dart pub publish" med en fejlmeddelelse. I tilfælde af falsk alarm er det muligt at springe kontrollen over via hvidlisten.

kilde: https://medium.com/


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.