Ukukhishwa kwephrojekthi ye-Nuitka 2.0 kuyatholakala, kwakhiwa umdidiyeli wokuhumusha imibhalo ye-Python ibe isethulo sika-C, esingase sihlanganiswe sibe ifayela elisebenzisekayo kusetshenziswa i-libpython ukuze ihambisane kakhulu ne-CPython (kusetshenziswa amathuluzi omdabu e-CPython okuguqula izinto). Kunikezwe ukuhambisana okugcwele nokukhishwa kwamanje kwe-Python 2.6, 2.7, 3.3 - 3.11. Uma kuqhathaniswa ne-CPython, imibhalo ehlanganisiwe ibonisa ukuthuthukiswa kokusebenza okungu-335% ekuhlolweni kwe-pystone. Ikhodi yephrojekthi isatshalaliswa ngaphansi kwelayisensi ye-Apache.
Phakathi kwezinguquko zenguqulo entsha:
- Kwengezwe amandla okusebenzisa okuguquguqukayo ekucushweni kwephakheji, okukuvumela ukuthi ubuze amanani asuka kumaphakheji afakiwe ngesikhathi sokuhlanganisa futhi usebenzise lawo manani ukuze uchaze i-backend. Ukusekela okuguquguqukayo ekucushweni kukuvumela ukuthi uxazulule imisebenzi eminingi ngezindlela ezijwayelekile ebezidinga ngaphambilini ukuxhuma ama-plugin.
- Ukwesekwa okwengeziwe kwamapharamitha achazwe umsebenzisi ukuze kuthonye ukucushwa kwephakheji ngayinye. Amapharamitha angafundwa kusetshenziswa umsebenzi omusha we-get_parameter futhi asetshenziselwe ukukhetha ukuziphatha kwamamojula (isibonelo, ungasetha ipharamitha ukuze ukhubaze i-Nummba JIT noma i-Torch JIT).
- Inketho eyengeziwe "--include-onefile-external-data" ukuze ucacise izifanekiso zefayela ledatha ezichazwe ekucushweni kodwa okufanele zinikezwe ngokuhlukene nefayela elisebenzisekayo lapho kwakhiwa kumodi yefayela elilodwa.
- Kwengezwe inketho ethi β-cf-protectionβ ukuze kusethwe imodi yokuvikela ye-CFI (Control Flow Integrity) ku-GCC, evimba ukwephulwa kwe-oda lokukhishwa elivamile (control flow).
- Kumafayela e-yaml e-plugin, amandla okudala amasheke okuhlolwa kobuqotho asetshenzisiwe, lawo esikhathini esizayo abahlela ukuwasebenzisa ukuze bahlele ukuqinisekiswa kwesikhathi sokusebenza.
- Izenzo zivumela izinketho eziningi ukuthi zicaciswe, zihlukaniswe imigqa (umugqa omusha usetshenziswa njenge-delimiter). Isibonelo: faka-idatha-dir: | a=bc=d
- Ukuhlaziywa kwezinhlobo ze-loop kusetshenzisiwe, okuzosetshenziswa esikhathini esizayo ukuze kusetshenziswe ukulungiselelwa okukhethiwe.
- Kungezwe ukulungiselelwa ukuze kusheshiswe umsebenzi ngezinto ezingabiwayo neziphunyukile.
- Amandla e-plugin anti-bloat anwetshiwe, manje angasetshenziswa ukunciphisa inani lamaphakethe uma usebenzisa i-streamlit, ithoshi, i-knetworkx, esabalalisiwe, i-skimage, bitsandbytes, tf_keras, pip, networkx kanye namalabhulali e-pywt (ngokuyisisekelo, ukubopha ku-pytest, i-IPython, ikhala, i-triton ayifakiwe kanye ne-dask).
Source: opennet.ru