Lëshohet projekti Nuitka 2.0, i cili zhvillon një kompiler për përkthimin e skedave në gjuhën Python në një përfaqësim në gjuhën C, i cili pastaj mund të kompilohet në një skedar ekzekutues që përdor libpython për të siguruar maksimumin e kompatibilitetit me CPython (përdoren mjetet standarde të CPython për menaxhimin e objekteve). Sigurohet përputhshmëri e plotë me versionet aktuale të Python 2.6, 2.7, 3.3 - 3.11. Krahasuar me CPython, skedarët e kompiluar tregojnë përmirësim në performancë prej 335% në testet pystone. Kodi i projektit shpërndahet nën licencën Apache.
Ndër ndryshimet në versionin e ri:
- është shtuar mundësia e përdorimit të variablave në konfigurimin e paketës, duke lejuar që gjatë kompilimit të kërkohen vlera nga paketat e instaluara dhe të përdoren këto vlera për të përcaktuar backend-in. Mbështetje për variablat në konfigurim lejon zgjidhjen e shumë problemeve standarde që më parë kërkonin lidhjen e plug-in-eve.
- Shtimi i mbështetjes për parametrat e caktuar nga përdoruesi për të ndikuar në konfigurimin e çdo pakete. Parametrat mund të lexohen përmes funksionit të ri get_parameter dhe të përdoren për të zgjedhur sjelljen e moduleve (p.sh., mund të vendoset një parametr për të çaktivizuar Numba JIT ose Torch JIT).
- Shtuar opsioni «âinclude-onefile-external-data» pĂ«r tĂ« caktuar modelet e skedarĂ«ve me tĂ« dhĂ«na, tĂ« cilat janĂ« tĂ« definuara nĂ« konfigurim por duhet tĂ« ofrohen ndarĂ« nga skedari ekzekutiv gjatĂ« ndĂ«rtimit nĂ« modin njĂ«skedhor (onefile).
- Shtuar opsioni «âcf-protection» pĂ«r tĂ« vendosur nĂ« GCC modalitetin e mbrojtjes CFI (Control Flow Integrity), i cili parandalon shkeljet e rendit normal tĂ« ekzekutimit (control flow).
- Për skedarët yaml të pluginëve, është implementuar mundësia e krijimit të kontrolleve për të verifikuar integritetin, të cilat në të ardhmen planifikojnë të përdoren për organizimin e verifikimit gjatë ekzekutimit.
- Në Actions lejohet specifikimi i disa opsioneve, të ndara me rreshta (rreshti i ri përdoret si ndarës). Për shembull: include-data-dir: | a=b c=d
- Implementimi i analizës së tipave të cikleve, e cila në të ardhmen do të përdoret për të realizuar optimizime selektive.
- Janë shtuar optimizime për përshpejtimin e punës me variablat e papërbashkët dhe të shkruar.
- Janë zgjeruar mundësitë e plaginës anti-bloat, e cila tani mund të përdoret për të reduktuar numrin e pakove kur përdoren bibliotekat streamlit, torch, knetworkx, distributed, skimage, bitsandbytes, tf_keras, pip, networkx dhe pywt (në tërësi është përjashtuar lidhja me pytest, IPython, nose, triton dhe dask).
Burimi: opennet.ru
