Python dili üçün tərtibçi olan Nuitka 2.0-nın buraxılışı

Nuitka 2.0 layihəsinin buraxılışı mövcuddur, Python skriptlərini C təqdimatına çevirmək üçün kompilyator hazırlayır, daha sonra CPython ilə maksimum uyğunluq üçün (obyektlərin manipulyasiyası üçün yerli CPython alətlərindən istifadə etməklə) libpython istifadə edərək icra edilə bilən fayla tərtib edilə bilər. Python 2.6, 2.7, 3.3 - 3.11-un cari buraxılışları ilə tam uyğunluq təmin edilmişdir. CPython ilə müqayisədə tərtib edilmiş skriptlər pystone testlərində 335% performans yaxşılaşması göstərir. Layihə kodu Apache lisenziyası altında paylanır.

Yeni versiyada dəyişikliklər arasında:

  • Paket konfiqurasiyasında dəyişənlərdən istifadə etmək imkanı əlavə edildi, bu, kompilyasiya zamanı quraşdırılmış paketlərdən dəyərləri sorğulamağa və bu dəyərlərdən arxa sonu müəyyən etmək üçün istifadə etməyə imkan verir. Konfiqurasiyada dəyişənlərə dəstək, əvvəllər qoşulma plaginlərini tələb edən bir çox işi standart üsullarla həll etməyə imkan verir.
  • Hər bir paketin konfiqurasiyasına təsir etmək üçün istifadəçi tərəfindən müəyyən edilmiş parametrlər üçün əlavə dəstək. Parametrləri yeni get_parameter funksiyasından istifadə etməklə oxumaq və modulların davranışını seçmək üçün istifadə etmək olar (məsələn, siz Numba JIT və ya Torch JIT-i söndürmək üçün parametr təyin edə bilərsiniz).
  • Konfiqurasiyada müəyyən edilmiş, lakin bir fayl rejimində qurularkən icra edilə bilən fayldan ayrıca təmin edilməli olan məlumat faylı şablonlarını müəyyən etmək üçün "--include-onefile-external-data" seçimi əlavə edildi.
  • Normal icra qaydasının (nəzarət axını) pozulmasını bloklayan GCC-də CFI (Control Flow Integrity) mühafizə rejimini təyin etmək üçün “--cf-protection” seçimi əlavə edildi.
  • Plugin yaml faylları üçün bütövlük yoxlamaları üçün yoxlama məbləğləri yaratmaq imkanı tətbiq edilmişdir ki, gələcəkdə onlar iş vaxtı yoxlamasını təşkil etmək üçün istifadə etməyi planlaşdırırlar.
  • Fəaliyyətlər sətirlərlə ayrılmış bir neçə variantı müəyyən etməyə imkan verir (yeni sətir ayırıcı kimi istifadə olunur). Məsələn: daxildir-data-dir: | a=bc=d
  • Döngü növlərinin təhlili həyata keçirilmişdir, gələcəkdə seçmə optimallaşdırmaların həyata keçirilməsi üçün istifadə ediləcəkdir.
  • Paylaşılmayan və qaçırılan dəyişənlərlə işi sürətləndirmək üçün optimallaşdırmalar əlavə edildi.
  • Bloat əleyhinə plaqinin imkanları genişləndirilib ki, bu da indi streamlit, torch, knetworkx, paylanmış, skimage, bitsandbytes, tf_keras, pip, networkx və pywt kitabxanalarından (əsasən, bağlama) istifadə edərkən paketlərin sayını azaltmaq üçün istifadə edilə bilər. to pytest, IPython, burun, triton xaric edilir və dask).

Mənbə: opennet.ru

Добавить комментарий