Nuitka 1.1, Python kalbos kompiliatoriaus, išleidimas

Yra projekto Nuitka 1.1 leidimas, kuriame sukurtas kompiliatorius, skirtas Python scenarijus paversti į C atvaizdą, kuris vėliau gali būti sukompiliuotas į vykdomąjį failą naudojant libpython, kad būtų maksimaliai suderinamas su CPython (naudojant vietinius CPython įrankius manipuliuoti objektais). Suteikiamas visiškas suderinamumas su dabartinėmis Python 2.6, 2.7, 3.3 – 3.10 versijomis. Palyginti su CPython, sudaryti scenarijai rodo 335% pystone testų našumo pagerėjimą. Projekto kodas platinamas pagal Apache licenciją.

Tarp naujos versijos pakeitimų:

  • Išplėstos galimybės nurodyti konfigūraciją Yaml formatu.
  • Buvo atlikti optimizavimai, susiję su nenaudojamų standartinės bibliotekos komponentų (zoneinfo, concurrent, asyncio ir kt.) pašalinimu, o tai leido sumažinti gaunamų vykdomųjų failų dydį.
  • Pridėtas alternatyvios sintaksės ("|") palaikymas šablonų atitiktyse, remiantis Python 3.10 įdiegtu operatoriumi "match".
  • Suderinamumas su jinja2.PackageLoader užtikrinamas.
  • Įdiegta galimybė keisti atributo __defaults__ dydį.
  • Pridėtas funkcijų importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata ir importlib_metadata.metadata palaikymas.
  • Papildomų dvejetainių failų įtraukimo į pagrindinį vykdomąjį failą palaikymas buvo įtrauktas į „Onefile“ kompiliavimo režimą.
  • Sukompiliuoti moduliai įgyvendina galimybę naudoti funkciją importlib.resources.files.
  • Parinktis „--include-package-data“ leidžia nurodyti failų kaukes, pvz., „--include-package-data=package_name=*.txt“.
  • „MacOS“ įdiegtas vykdomųjų failų skaitmeninio pasirašymo palaikymas.
  • Įskiepiams numatytas būdas nepaisyti vykdomojo failo funkcijų.
  • Išplėstos „anti-bloat“ įskiepio galimybės, kurias dabar galima naudoti norint sumažinti paketų skaičių naudojant „rich“, „pyrect“ ir „pytorch“ bibliotekas. Įdiegta galimybė naudoti reguliariąsias išraiškas pakeitimo taisyklėse.
  • Regresiniai pakeitimai, atsiradę dėl reikšmingo optimizavimo, įdiegto paskutiniame leidime, buvo išspręsti.

Šaltinis: opennet.ru

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