Dart 2.15 hadir dengan grup terisolasi, peningkatan runtime, dan banyak lagi

Google baru-baru ini meluncurkan peluncuran versi baru dari bahasa pemrograman Dart 2.15, yang melanjutkan pengembangan cabang Dart 2 yang didesain ulang secara radikal dan yang berbeda dari versi asli bahasa Dart dengan menggunakan pengetikan statis yang kuat (tipe dapat disimpulkan secara otomatis, sehingga tidak diperlukan untuk menentukan tipe, tetapi pengetikan dinamis tidak lagi digunakan dan awalnya dihitung, tipe ditetapkan ke variabel dan kemudian pemeriksaan tipe yang ketat diterapkan).

Dalam versi baru ini, berbagai peningkatan telah diterapkan dan terutama pengenalan beberapa fitur baru seperti grup terisolasi dan juga solusi untuk beberapa kerentanan yang terdeteksi.

Fitur baru utama Dart 2.15

Dalam versi baru Dart 2.15 alat disediakan untuk pelaksanaan tugas paralel yang cepat dengan isolasi pengontrol.

Selain itu dalam sistem multi-core, runtime Dart, secara default, menjalankan kode aplikasi pada inti CPU dan menggunakan inti lain untuk melakukan tugas sistem seperti I/O asinkron, menulis ke file, atau melakukan panggilan jaringan.

Kebaruan lain yang diperkenalkan Dart 2.15 adalah konsep baru, kelompok terisolasi, (kelompok terisolasi) memungkinkan akses bersama ke struktur data internal yang berbeda pada isolat yang termasuk dalam kelompok yang sama, yang secara signifikan dapat mengurangi overhead saat berkomunikasi dengan agen dalam grup. Misalnya, memulai isolasi tambahan pada kumpulan yang ada 100 kali lebih cepat dan membutuhkan memori 10 hingga 100 kali lebih sedikit daripada memulai isolasi terpisah, sehingga menghilangkan kebutuhan untuk menginisialisasi struktur data program.

Terlepas dari kenyataan bahwa dalam blok-blok yang terisolasi dalam suatu kelompok, akses bersama ke objek yang bisa berubah masih dilarang, grup menggunakan memori dinamis bersama, secara signifikan mempercepat transfer objek dari satu blok ke blok lain tanpa memerlukan operasi penyalinan yang intensif sumber daya.

Di versi baru, itu juga diperbolehkan untuk melewatkan hasil kerja pengontrol ketika Isolate.exit () disebut untuk melewatkan data ke blok isolasi utama tanpa melakukan operasi penyalinan. Selain itu, optimasi mekanisme transmisi pesan telah dilakukan: pesan kecil dan menengah sekarang diproses sekitar 8 kali lebih cepat. Objek yang dapat diteruskan antar isolat menggunakan panggilan SendPort.send () mencakup berbagai jenis fungsi, penutupan, dan pelacakan tumpukan.

Dalam alat untuk membuat pointer untuk fungsi individu dalam objek lain, batasan untuk membuat pointer seperti itu telah dihapus dalam kode konstruktor, yang dapat berguna saat membuat antarmuka berbasis perpustakaan Berdebar.

Perpustakaan dart: core telah meningkatkan dukungan enum, misalnya, Anda sekarang dapat menghasilkan nilai string dari setiap nilai enumerasi menggunakan metode ".name", mendapatkan nilai berdasarkan nama, atau mencocokkan pasangan nilai.

Itu juga disorot itu teknik kompresi pointer telah diimplementasikanBahwa memungkinkan untuk menggunakan representasi pointer yang lebih ringkas di lingkungan 64-bit jika ruang alamat 32-bit cukup untuk pengalamatan (memori tidak lebih dari 4 GB yang digunakan). Pengujian telah menunjukkan bahwa pengoptimalan tersebut mengurangi ukuran tumpukan sekitar 10%. Di Flutter SDK, mode baru sudah diaktifkan untuk Android secara default dan direncanakan untuk mengaktifkannya untuk iOS di rilis mendatang.

Lebih lanjut dicatat bahwa repositori pub.dev sekarang memiliki kemampuan untuk mencabut versi yang sudah diterbitkan paket, misalnya, dalam kasus bug atau kerentanan berbahaya.

dari perubahan lainnya yang menonjol:

  • Perlindungan tambahan terhadap kerentanan (CVE-2021-22567) yang disebabkan oleh penggunaan karakter Unicode yang mengubah urutan tampilan dalam kode.
  • Memperbaiki kerentanan (CVE-2021-22568) yang dapat meniru pengguna pub.dev lain saat memublikasikan paket ke server pihak ketiga yang menerima token akses oauth2 dari pub.dev.
  • Dart SDK menyertakan alat untuk debugging dan analisis kinerja (DevTools), yang sebelumnya dikirimkan dalam paket terpisah.
  • Alat ditambahkan ke perintah "dart pub" dan repositori paket pub.dev untuk melacak pelepasan informasi sensitif yang tidak disengaja, misalnya meninggalkan kredensial untuk sistem integrasi berkelanjutan dan lingkungan cloud di dalam paket.
  • Jika kebocoran tersebut ditemukan, perintah "dart pub publish" akan berhenti dengan pesan kesalahan. Jika terjadi alarm palsu, Anda dapat melewati pemeriksaan melalui daftar putih.

sumber: https://medium.com/


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.