Dalja e Nuitka 4.0, një kompilator për gjuhën Python. Progresi i zhvillimit JIT në CPython

Lançimi i versionit 4.0 tĂ« projektit Nuitka, qĂ« zhvillon njĂ« kompilator pĂ«r tĂ« pĂ«rkthyer skenarĂ«t nĂ« gjuhĂ«n Python nĂ« njĂ« pĂ«rfaqĂ«sim nĂ« gjuhĂ«n C, e cila mĂ« pas mund tĂ« kompilohet nĂ« njĂ« skedar ekzekutues qĂ« pĂ«rdor libpython pĂ«r tĂ« siguruar maksimumin ndĂ«rlidhjeje me CPython (pĂ«rdoren mjete standarde CPython pĂ«r menaxhimin e objekteve). Sigurohet pĂ«rputhshmĂ«ria e plotĂ« me versionet aktuale tĂ« Python 2.6, 2.7, 3.4 — 3.13. Krahasuar me CPython, skenarĂ«t e kompiluara tregojnĂ« nĂ« testet pystone njĂ« rritje tĂ« performancĂ«s prej 335%. Kodi i projektit shpĂ«rndahet nĂ«n licencĂ«n Apache.

Në këtë version të ri:

  • JanĂ« bĂ«rĂ« ndryshime pĂ«r tĂ« pĂ«rmirĂ«suar pĂ«rputhshmĂ«rinĂ« me Python 3.12, 3.13 dhe 3.14, pĂ«r shembull, u shtua mbĂ«shtetje pĂ«r trajtimin e vonuar tĂ« anoteve dhe sintaksĂ«s sĂ« re tĂ« anoteve pĂ«r klasat dhe funksionet e pĂ«rgjithshme.
  • U shtua njĂ« mundĂ«si eksperimentale pĂ«r tĂ« pĂ«rdorur kompilatorin Zig (zig cc) si backend tĂ« kompilatorit C nĂ« Nuitka.
  • U ofrua mbĂ«shtetje paraprake pĂ«r optimizimet LTO me pĂ«rdorimin e kompilatorit Clang.
  • U propozuar dekoratori "@nuitka_ignore" pĂ«r tĂ« pĂ«rjashtuar kompilimin e funksioneve.
  • JanĂ« realizuar opsionet: «—project» pĂ«r ndĂ«rtimin me pĂ«rdorimin e cilĂ«simeve nga skedari pyproject.toml, «—devel-profile-compilation» pĂ«r profilizimin gjatĂ« fazĂ«s sĂ« ndĂ«rtimit, «—debug-self-forking» pĂ«r debugimin e fork-bombave, «—include-windows-runtime-dlls» pĂ«r menaxhimin e pĂ«rfshirjes sĂ« DLL-ve C runtime nĂ« Windows, «—qt-debug-plugins» pĂ«r diagnostikimin e ngarkesĂ«s sĂ« plugins Qt.
  • ShtĂ« shtuar mbĂ«shtetje pĂ«r versionet aktuale tĂ« pakove oracledb, win32ctypes, dask, dataparser, puremagic, pygments.lexers, tomli, av, sentry_sdk, jedi, parso, line_profiler dhe pandas.

Gjithashtu mund të theksohet raporti mbi përparimin e zhvillimit të JIT-kompilatorit në CPython. Zhvilluesit kanë vendosur objektivin për të rritur performancën e JIT deri në lëshimin e CPython 3.15 me 5%, dhe deri në lëshimin e 3.16 për të rritur performancën me 10% dhe për të realizuar mundësinë e përdorimit të JIT në modin Free-threading (pa bllokim global). Në gjendjen aktuale, përdorimi i JIT në alfa-ndërtimet e CPython 3.15 tashmë tregon një përshpejtim mesatar prej 11-12% në platformën macOS AArch64 dhe 5-6% në platformën x86_64 Linux në krahasim me interpretuesin standard. Ndërkohë, në teste të caktuara kur aktivizohet JIT, ndryshimi i performancës varion nga një përshpejtim më shumë se 100%, deri në ngadalësim me 20%.

Dalja e Nuitka 4.0, një kompilator për gjuhën Python. Progresi i zhvillimit JIT në CPython


Burimi: opennet.ru
Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster