Vrystelling van Nuitka 2.0, 'n samesteller vir die Python-taal

Die Nuitka 2.0-projek is nou beskikbaar, wat 'n samesteller ontwikkel om Python-skrifte in 'n C-voorstelling te vertaal, wat dan saamgestel kan word in 'n uitvoerbare lêer met libpython vir maksimum CPython-versoenbaarheid (met gebruik van inheemse CPython-objekbestuurnutsmiddels). Volle versoenbaarheid met huidige weergawes van Python 2.6, 2.7, 3.3 - 3.11 word verseker. In vergelyking met CPython, toon saamgestelde skrifte 'n 335% prestasieverbetering in pystone-maatstawwe. Die projekkode word onder die Apache-lisensie versprei.

Onder die veranderinge in die nuwe weergawe:

  • Die vermoë bygevoeg om veranderlikes in pakketkonfigurasie te gebruik, sodat u waardes van geïnstalleerde pakkette tydens samestellingstyd kan navraag doen en daardie waardes gebruik om die agterkant te definieer. Ondersteuning vir veranderlikes in die konfigurasie laat jou toe om baie take op standaard maniere op te los wat voorheen gekoppelde plugins vereis het.
  • Bygevoeg ondersteuning vir gebruiker-gedefinieerde parameters om die konfigurasie van elke pakket te beïnvloed. Parameters kan gelees word met die nuwe get_parameter-funksie en gebruik word om die gedrag van modules te kies (jy kan byvoorbeeld 'n parameter stel om Numba JIT of Torch JIT uit te skakel).
  • Bygevoeg opsie "-include-onefile-external-data" om datalêersjablone te spesifiseer wat in die konfigurasie gedefinieer is, maar apart van die uitvoerbare lêer verskaf moet word wanneer in eenlêermodus gebou word.
  • Het die "--cf-protection" opsie bygevoeg om die CFI (Control Flow Integrity) beskermingsmodus in GCC te stel, wat oortredings van die normale uitvoeringsbevel (beheervloei) blokkeer.
  • Vir plugin yaml-lêers is die vermoë om kontrolesomme vir integriteitkontroles te skep, geïmplementeer, wat hulle in die toekoms beplan om te gebruik om tydsverifikasie te organiseer.
  • Aksies laat toe dat verskeie opsies gespesifiseer word, geskei deur lyne ('n nuwe lyn word as 'n afbakener gebruik). Byvoorbeeld: sluit-data-dir: | a=bc=d
  • 'n Ontleding van lustipes is geïmplementeer, wat in die toekoms gebruik sal word om selektiewe optimaliserings te implementeer.
  • Optimalisasies bygevoeg om werk met nie-gedeelde en ontsnapte veranderlikes te bespoedig.
  • Die vermoëns van die anti-opblaas-inprop is uitgebrei, wat nou gebruik kan word om die aantal pakkies te verminder wanneer die streamlit, torch, knetworkx, distributed, skiimage, bitsandbytes, tf_keras, pip, networkx en pywt biblioteke gebruik word (basies, binding). na pytest, IPython, neus, triton is uitgesluit en dask).

Bron: opennet.ru

Voeg 'n opmerking