Dart 2.15 kommer med isolerte grupper, kjøretidsforbedringer og mer

Google avduket nylig lanseringen av ny versjon av programmeringsspråket Dart 2.15, som fortsetter utviklingen av en radikalt redesignet gren av Dart 2 og som skiller seg fra den originale versjonen av Dart-språket ved bruk av sterk statisk skriving (typer kan utledes automatisk, så det er ikke nødvendig å spesifisere typer, men dynamisk skriving brukes ikke lenger og beregnes i utgangspunktet, typen tildeles til variabelen og deretter brukes en streng typesjekk).

I denne nye versjonen har ulike forbedringer blitt implementert og fremfor alt introduksjon av noen nye funksjoner som isolerte grupper og også løsninger på noen oppdagede sårbarheter.

Nye hovedfunksjoner i Dart 2.15

I denne nye versjonen av Dart 2.15 verktøy leveres for rask parallell utførelse av oppgaver med kontrollerisolering.

bortsett fra det i flerkjernesystemer, kjøretiden Dart, som standard, kjører applikasjonskode på en CPU-kjerne og bruker andre kjerner til å utføre systemoppgaver for eksempel asynkron I/O, skriving til filer eller foreta nettverksanrop.

En annen nyhet som Dart 2.15 introduserer er et nytt konsept, isolerte grupper, (isoler grupper) gir delt tilgang til ulike interne datastrukturer i isolater som tilhører samme gruppe, som kan redusere kostnadene ved kommunikasjon med agenter i en gruppe betydelig. For eksempel er det 100 ganger raskere å starte en ekstra isolasjon på et eksisterende basseng og krever 10 til 100 ganger mindre minne enn å starte en separat isolasjon, noe som eliminerer behovet for å initialisere datastrukturene til programmet.

Til tross for det faktum at i isolerte blokker i en gruppe, delt tilgang til mutable objekter er fortsatt forbudt, grupper bruker delt dynamisk minne, øker betydelig hastighet på overføringen av objekter fra en blokk til en annen uten behov for ressurskrevende kopieringsoperasjoner.

I den nye versjonen, det er også tillatt å sende resultatet av kontrollerarbeidet når Isolate.exit () kalles å sende data til hovedisolasjonsblokken uten å utføre kopieringsoperasjoner. I tillegg er det utført optimalisering av meldingsoverføringsmekanismen: små og mellomstore meldinger behandles nå omtrent 8 ganger raskere. Objektene som kan sendes mellom isolater ved å bruke SendPort.send ()-kallet inkluderer ulike typer funksjoner, lukkinger og stabelspor.

I verktøyene for å lage pekere til individuelle funksjoner i andre objekter, restriksjoner på å lage slike pekere er fjernet i konstruktørkoden, som kan være nyttig når du lager bibliotekbaserte grensesnitt Fladder.

Bibliotek dart: kjernen har forbedret enum-støtte, for eksempel kan du nå generere en strengverdi fra hver oppregningsverdi ved å bruke ".name"-metoden, hente verdier etter navn eller matche verdipar.

Det er også fremhevet at en pekerkomprimeringsteknikk er implementertAt gjør det mulig å bruke en mer kompakt representasjon av pekere i 64-bits miljøer hvis 32-biters adresseplass er tilstrekkelig for adressering (ikke mer enn 4 GB minne brukes). Tester har vist at slik optimalisering reduserer haugstørrelsen med omtrent 10 %. I Flutter SDK er den nye modusen allerede aktivert for Android som standard, og den er planlagt aktivert for iOS i en fremtidig utgivelse.

Lengre det bemerkes at pub.dev-depotet nå har muligheten til å tilbakekalle en allerede publisert versjon av en pakke, for eksempel i tilfelle farlige feil eller sårbarheter.

Av andre endringer som skiller seg ut:

  • Ekstra beskyttelse mot sårbarhet (CVE-2021-22567) forårsaket av bruk av Unicode-tegn som endrer visningsrekkefølgen i koden.
  • Rettet en sårbarhet (CVE-2021-22568) som kan utgi seg for en annen pub.dev-bruker ved publisering av pakker til en tredjepartsserver som godtar oauth2-tilgangstokener fra pub.dev.
  • Dart SDK inkluderer verktøy for feilsøking og ytelsesanalyse (DevTools), som tidligere ble levert i en egen pakke.
  • Verktøy ble lagt til "dart pub"-kommandoen og pub.dev-pakkelagrene for å spore utilsiktet utgivelse av sensitiv informasjon, for eksempel å legge igjen legitimasjon for kontinuerlige integrasjonssystemer og skymiljøer i pakken.
  • Hvis slike lekkasjer blir funnet, vil "dart pub publish"-kommandoen stoppe med en feilmelding. Ved falsk alarm er det mulig å hoppe over kontrollen via hvitelisten.

Fuente: https://medium.com/


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.