Dart 2.15, izole gruplar, çalışma zamanı iyileştirmeleri ve daha fazlasıyla geliyor

Google kısa süre önce lansmanını açıkladı. programlama dilinin yeni versiyonu Dart 2.15'nin kökten yeniden tasarlanmış bir dalının gelişimini sürdüren Dart 2 ve bu, güçlü statik yazma kullanımıyla Dart dilinin orijinal sürümünden farklıdır (türler otomatik olarak çıkarılabilir, bu nedenle türleri belirtmek gerekli değildir, ancak dinamik yazma artık kullanılmaz ve başlangıçta hesaplanır, tür atanır değişkene ve ardından katı bir tür kontrolü uygulanır).

Bu yeni sürümde, çeşitli iyileştirmeler uygulandı ve hepsinden önemlisi, izole gruplar gibi bazı yeni özelliklerin tanıtımı ve ayrıca tespit edilen bazı güvenlik açıklarına yönelik çözümler.

Dart 2.15'ün başlıca yeni özellikleri

Dart 2.15'in bu yeni sürümünde Denetleyici izolasyonu ile görevlerin hızlı paralel yürütülmesi için araçlar sağlanır.

bunun yanı sıra çok çekirdekli sistemlerde, çalışma zamanı Dart, varsayılan olarak, uygulama kodunu bir CPU çekirdeğinde çalıştırır ve sistem görevlerini gerçekleştirmek için diğer çekirdekleri kullanır asenkron G/Ç, dosyalara yazma veya ağ aramaları yapma gibi.

Dart 2.15'in getirdiği bir diğer yenilik ise yeni bir konsept. izole gruplar, (izole grupları) farklı dahili veri yapılarına paylaşılan erişime izin vermek aynı gruba ait izolatlarda, Bu, bir gruptaki temsilcilerle iletişim kurarken ek yükü önemli ölçüde azaltabilir. Örneğin, mevcut bir havuz üzerinde ek bir izolasyon başlatmak, 100 kat daha hızlıdır ve ayrı bir izolasyon başlatmaktan 10 ila 100 kat daha az bellek gerektirir, bu da programın veri yapılarını başlatma ihtiyacını ortadan kaldırır.

Bir gruptaki izole bloklarda olmasına rağmen, değiştirilebilir nesnelere paylaşılan erişim hala yasak, gruplar paylaşılan dinamik bellek kullanıyor, yoğun kaynak kullanan kopyalama işlemlerine gerek kalmadan nesnelerin bir bloktan diğerine aktarımını önemli ölçüde hızlandırır.

Yeni versiyonda, ayrıca, Isolate.exit() çağrıldığında denetleyici çalışmasının sonucunu iletmesine izin verilir. kopyalama işlemlerini gerçekleştirmeden verileri ana izolasyon bloğuna geçirmek için. Ek olarak, mesaj iletim mekanizmasının optimizasyonu gerçekleştirildi: küçük ve orta ölçekli mesajlar artık yaklaşık 8 kat daha hızlı işleniyor. SendPort.send() çağrısı kullanılarak izolatlar arasında geçirilebilecek nesneler, çeşitli türde işlevler, kapatmalar ve yığın izlemeleri içerir.

İşaretçi oluşturma araçlarında diğer nesnelerdeki bireysel işlevlere, bu tür işaretçiler oluşturma kısıtlamaları kaldırıldı yapıcı kodunda, hangi kitaplık tabanlı arayüzler oluştururken faydalı olabilir çarpıntı.

Kütüphane dart: çekirdek enum desteğini geliştirdi, örneğin, artık ".name" yöntemini kullanarak her numaralandırma değerinden bir dize değeri oluşturabilir, değerleri ada göre alabilir veya değer çiftlerini eşleştirebilirsiniz.

Ayrıca vurgulanmıştır ki bir işaretçi sıkıştırma tekniği uygulandıO 64 bit ortamlarda işaretçilerin daha kompakt bir temsilini kullanmaya izin verir 32 bit adres alanı adresleme için yeterliyse (4 GB'den fazla bellek kullanılmaz). Testler, bu tür bir optimizasyonun yığın boyutunu yaklaşık %10 oranında azalttığını göstermiştir. Flutter SDK'da, yeni mod varsayılan olarak Android için zaten etkinleştirilmiştir ve gelecekteki bir sürümde iOS için etkinleştirilmesi planlanmaktadır.

Daha ileri pub.dev deposunun artık önceden yayınlanmış bir sürümü iptal etme yeteneğine sahip olduğu belirtildi. örneğin, tehlikeli hatalar veya güvenlik açıkları durumunda.

Of the diğer değişiklikler göze çarpan:

  • Koddaki görüntüleme sırasını değiştiren Unicode karakterlerinin kullanılmasından kaynaklanan güvenlik açığına (CVE-2021-22567) karşı ek koruma.
  • paketleri pub.dev'den oauth2021 erişim belirteçlerini kabul eden bir üçüncü taraf sunucuya yayınlarken başka bir pub.dev kullanıcısının kimliğine bürünebilecek bir güvenlik açığı (CVE-22568-2) düzeltildi.
  • Dart SDK, daha önce ayrı bir pakette sunulan hata ayıklama ve performans analizi (DevTools) araçlarını içerir.
  • "Dart pub" komutuna ve pub.dev paket havuzlarına, örneğin sürekli entegrasyon sistemleri ve bulut ortamları için kimlik bilgilerini paket içinde bırakmak gibi hassas bilgilerin yanlışlıkla serbest bırakılmasını izlemek için araçlar eklendi.
  • Bu tür sızıntılar bulunursa, "dart pub yayınla" komutu bir hata mesajıyla duracaktır. Yanlış alarm durumunda beyaz liste üzerinden kontrol atlanabilir.

kaynak: https://medium.com/


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.