Ukukhishwa kwe-Nuitka 2.0, umdidiyeli wolimi lwePython

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

Engeza amazwana