Izdaja Nuitka 2.0, prevajalnik za jezik Python

Na voljo je izdaja projekta Nuitka 2.0, ki razvija prevajalnik za prevajanje skriptov Python v predstavitev C, ki se lahko nato prevede v izvedljivo datoteko z uporabo libpythona za največjo združljivost s CPython (z uporabo izvornih orodij CPython za manipulacijo predmetov). Zagotovljena popolna združljivost s trenutnimi izdajami Pythona 2.6, 2.7, 3.3 - 3.11. V primerjavi s CPython prevedeni skripti kažejo 335-odstotno izboljšavo zmogljivosti v testih pystone. Koda projekta se distribuira pod licenco Apache.

Med spremembami v novi različici:

  • Dodana možnost uporabe spremenljivk v konfiguraciji paketa, kar vam omogoča, da poizvedujete po vrednostih iz nameščenih paketov v času prevajanja in uporabite te vrednosti za definiranje ozadja. Podpora za spremenljivke v konfiguraciji vam omogoča reševanje številnih nalog na standardne načine, ki so prej zahtevali povezovanje vtičnikov.
  • Dodana podpora za uporabniško določene parametre za vplivanje na konfiguracijo vsakega paketa. Parametre je mogoče prebrati z novo funkcijo get_parameter in jih uporabiti za izbiro vedenja modulov (na primer, lahko nastavite parameter za onemogočanje Numba JIT ali Torch JIT).
  • Dodana možnost "--include-onefile-external-data" za podajanje predlog podatkovnih datotek, ki so definirane v konfiguraciji, vendar jih je treba predložiti ločeno od izvršljive datoteke pri gradnji v načinu onefile.
  • Dodana možnost »--cf-protection« za nastavitev zaščitnega načina CFI (Control Flow Integrity) v GCC, ki blokira kršitve običajnega vrstnega reda izvajanja (pretok nadzora).
  • Za datoteke vtičnika yaml je implementirana možnost ustvarjanja kontrolnih vsot za preverjanje integritete, kar nameravajo v prihodnosti uporabiti za organizacijo izvajalnega preverjanja.
  • Dejanja omogočajo podajanje več možnosti, ločenih s črtami (nova vrstica se uporablja kot ločilo). Na primer: include-data-dir: | a=bc=d
  • Implementirana je analiza tipov zank, ki bo v prihodnje uporabljena za izvajanje selektivnih optimizacij.
  • Dodane optimizacije za pospešitev dela s spremenljivkami, ki niso v skupni rabi in ubežnimi spremenljivkami.
  • Razširjene so bile zmožnosti vtičnika za preprečevanje napihnjenosti, ki ga je zdaj mogoče uporabiti za zmanjšanje števila paketov pri uporabi knjižnic streamlit, torch, knetworkx, distributed, skimage, bitsandbytes, tf_keras, pip, networkx in pywt (v bistvu vezava za pytest, IPython, nos, triton je izključen in dask).

Vir: opennet.ru

Dodaj komentar