Dart 2.15 tiba dengan kumpulan terpencil, penambahbaikan masa jalan dan banyak lagi

Google baru-baru ini melancarkan pelancaran versi baharu bahasa pengaturcaraan Dart 2.15, yang meneruskan pembangunan cawangan Dart 2 yang direka bentuk semula secara radikal dan itu berbeza daripada versi asal bahasa Dart dengan penggunaan penaipan statik yang kuat (jenis boleh disimpulkan secara automatik, jadi ia tidak diperlukan untuk menentukan jenis, tetapi penaipan dinamik tidak lagi digunakan dan pada mulanya dikira, jenis ditetapkan kepada pembolehubah dan kemudian semakan jenis yang ketat digunakan).

Dalam versi baharu ini, pelbagai penambahbaikan telah dilaksanakan dan lebih-lebih lagi pengenalan beberapa ciri baharu seperti kumpulan terpencil dan juga penyelesaian kepada beberapa kelemahan yang dikesan.

Ciri baru utama Dart 2.15

Dalam versi baharu Dart 2.15 ini alatan disediakan untuk melaksanakan tugas selari pantas dengan pengasingan pengawal.

selain itu dalam sistem berbilang teras, masa jalan Dart, secara lalai, menjalankan kod aplikasi pada teras CPU dan menggunakan teras lain untuk melaksanakan tugas sistem seperti I/O tak segerak, menulis ke fail, atau membuat panggilan rangkaian.

Satu lagi kebaharuan yang Dart 2.15 perkenalkan ialah konsep baharu, kumpulan terpencil, (asingkan kumpulan) membenarkan akses dikongsi kepada struktur data dalaman yang berbeza dalam pencilan yang tergolong dalam kumpulan yang sama, yang boleh mengurangkan overhed dengan ketara apabila berkomunikasi dengan ejen dalam kumpulan. Sebagai contoh, memulakan pengasingan tambahan pada kumpulan sedia ada adalah 100 kali lebih cepat dan memerlukan 10 hingga 100 kali kurang memori daripada memulakan pengasingan berasingan, menghapuskan keperluan untuk memulakan struktur data program.

Walaupun fakta bahawa dalam blok terpencil dalam kumpulan, akses kongsi kepada objek boleh ubah masih dilarang, kumpulan menggunakan memori dinamik kongsi, mempercepatkan pemindahan objek dari satu blok ke blok lain dengan ketara tanpa memerlukan operasi penyalinan intensif sumber.

Dalam versi baru, ia juga dibenarkan melepasi hasil kerja pengawal apabila Isolate.exit () dipanggil untuk menghantar data ke blok pengasingan utama tanpa melakukan operasi penyalinan. Di samping itu, pengoptimuman mekanisme penghantaran mesej telah dijalankan: mesej kecil dan sederhana kini diproses kira-kira 8 kali lebih pantas. Objek yang boleh dihantar antara pengasing menggunakan panggilan SendPort.send () termasuk pelbagai jenis fungsi, penutupan dan surih tindanan.

Dalam alat untuk mencipta penunjuk kepada fungsi individu dalam objek lain, sekatan untuk mencipta petunjuk sedemikian telah dialih keluar dalam kod pembina, yang boleh berguna apabila mencipta antara muka berdasarkan perpustakaan Berkibar.

Perpustakaan dart: teras telah meningkatkan sokongan enum, contohnya, anda kini boleh menjana nilai rentetan daripada setiap nilai penghitungan menggunakan kaedah ".name", dapatkan nilai mengikut nama atau padanan pasangan nilai.

Ia juga diketengahkan bahawa satu teknik mampatan penunjuk telah dilaksanakanItu membolehkan anda menggunakan perwakilan penunjuk yang lebih padat dalam persekitaran 64-bit jika ruang alamat 32-bit mencukupi untuk menangani (tidak lebih daripada 4 GB memori digunakan). Ujian telah menunjukkan bahawa pengoptimuman tersebut mengurangkan saiz timbunan sebanyak kira-kira 10%. Dalam Flutter SDK, mod baharu telah didayakan untuk Android secara lalai dan ia dirancang untuk mendayakannya untuk iOS dalam keluaran akan datang.

Juga diketahui bahawa repositori pub.dev kini mempunyai keupayaan untuk membatalkan versi yang telah diterbitkan pakej, sebagai contoh, dalam kes pepijat berbahaya atau kelemahan.

Daripada perubahan lain yang menonjol:

  • Perlindungan tambahan terhadap kerentanan (CVE-2021-22567) yang disebabkan oleh penggunaan aksara Unicode yang mengubah susunan paparan dalam kod.
  • Memperbaiki kerentanan (CVE-2021-22568) yang boleh menyamar sebagai pengguna pub.dev lain apabila menerbitkan pakej ke pelayan pihak ketiga yang menerima token akses oauth2 daripada pub.dev.
  • SDK Dart termasuk alat untuk penyahpepijatan dan analisis prestasi (DevTools), yang sebelum ini dihantar dalam pakej yang berasingan.
  • Alat telah ditambahkan pada perintah "dart pub" dan repositori pakej pub.dev untuk menjejaki pelepasan maklumat sensitif secara tidak sengaja, contohnya meninggalkan kelayakan untuk sistem penyepaduan berterusan dan persekitaran awan dalam pakej.
  • Jika kebocoran tersebut ditemui, arahan "dart pub publish" akan berhenti dengan mesej ralat. Sekiranya berlaku penggera palsu, adalah mungkin untuk melangkau semakan melalui senarai putih.

Fuente: https://medium.com/


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.