Python dili için bir derleyici olan Nuitka 1.1'nin piyasaya sürülmesi

Nuitka 1.1 projesinin bir sürümü mevcuttur, Python betiklerini bir C temsiline çevirmek için bir derleyici geliştirir, bu daha sonra CPython ile maksimum uyumluluk için libpython kullanılarak yürütülebilir bir dosyada derlenebilir (nesneleri işlemek için yerel CPython araçları kullanılır). Python 2.6, 2.7, 3.3 - 3.10'un güncel sürümleriyle tam uyumluluk sağlanmıştır. CPython ile karşılaştırıldığında, derlenmiş betikler, pystone testlerinde %335'lik bir performans artışı gösteriyor. Proje kodu, Apache lisansı altında dağıtılır.

Yeni sürümdeki değişiklikler arasında:

  • Yaml formatında konfigürasyon belirleme olanakları genişletildi.
  • Standart kütüphanenin kullanılmayan bileşenlerinin (zoneinfo, concurrent, asyncio vb.) hariç tutulmasıyla ilgili optimizasyonlar yapılarak, ortaya çıkan yürütülebilir dosyaların boyutunun küçültülmesi mümkün kılındı.
  • Python 3.10'da tanıtılan "eşleşme" operatörüne dayalı olarak kalıp eşleşmelerinde alternatif sözdizimi ("|") için destek eklendi.
  • Jinja2.PackageLoader ile uyumluluk sağlanmıştır.
  • __defaults__ özelliğinin boyutunu değiştirme yeteneği uygulandı.
  • importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata ve importlib_metadata.metadata işlevleri için destek eklendi.
  • Onefile derleme moduna, ana yürütülebilir dosyaya ek ikili dosyalar ekleme desteği eklendi.
  • Derlenen modüller importlib.resources.files işlevini kullanma yeteneğini uygular.
  • "--include-package-data" seçeneği, dosya maskelerinin belirtilmesine olanak tanır; örneğin, "--include-package-data=package_name=*.txt".
  • MacOS için yürütülebilir dosyaların dijital olarak imzalanmasına yönelik destek uygulandı.
  • Yürütülebilir dosyanın işlevlerini geçersiz kılmak için eklentilere yönelik bir yöntem sağlanmıştır.
  • Anti-bloat eklentisinin yetenekleri genişletildi ve artık rich, pyrect ve pytorch kütüphanelerini kullanırken paket sayısını azaltmak için kullanılabilecek. Değiştirme kurallarında normal ifadeleri kullanma yeteneği uygulandı.
  • Son sürümde uygulanan önemli optimizasyonlardan kaynaklanan gerileyen değişiklikler çözüldü.

Kaynak: opennet.ru

Yorum ekle