Verëffentlechung vum Nuitka 2.0, e Compiler fir d'Python Sprooch

Eng Verëffentlechung vum Nuitka 2.0 Projet ass verfügbar, e Compiler entwéckelt fir Python Scripten an eng C Representatioun z'iwwersetzen, déi dann an eng ausführbar Datei mat libpython kompiléiert ka ginn fir maximal Kompatibilitéit mat CPython (benotzt nativ CPython Tools fir Objekter ze manipuléieren). Voll Kompatibilitéit mat aktuellen Verëffentlechunge vu Python 2.6, 2.7, 3.3 - 3.11 ass gesuergt. Am Verglach mam CPython weisen kompiléiert Scripte eng 335% Leeschtungsverbesserung bei Pystone Tester. De Projet Code gëtt ënner der Apache Lizenz verdeelt.

Ënnert den Ännerungen an der neier Versioun:

  • D'Kapazitéit bäigefüügt fir Variablen an der Packagekonfiguratioun ze benotzen, wat Iech erlaabt Wäerter vun installéierte Packagen zur Zäit ze kompiléieren an dës Wäerter ze benotzen fir de Backend ze definéieren. Ënnerstëtzung fir Variablen an der Konfiguratioun erlaabt Iech vill Aufgaben op Standard Weeër ze léisen, déi virdrun Plugins erfuerderen.
  • Zousätzlech Ënnerstëtzung fir Benotzerdefinéiert Parameteren fir d'Konfiguratioun vun all Package ze beaflossen. Parameter kënnen mat der neier get_parameter Funktioun gelies ginn a benotzt fir d'Behuele vu Moduler ze wielen (zum Beispill kënnt Dir e Parameter setzen fir Numba JIT oder Torch JIT auszeschalten).
  • D'Optioun "--include-onefile-external-data" bäigefüügt fir Datendateitemplates ze spezifizéieren déi an der Konfiguratioun definéiert sinn, awer musse separat vun der ausführbarer Datei geliwwert ginn wann Dir am Onefile Modus baut.
  • D'Optioun "--cf-Protection" bäigefüügt fir den CFI (Control Flow Integrity) Schutzmodus am GCC ze setzen, wat Verstouss géint déi normal Ausféierungsuerdnung (Kontrollfloss) blockéiert.
  • Fir Plugin yaml Dateien ass d'Fäegkeet fir Kontrollsumme fir Integritéitschecken ze kreéieren implementéiert, déi se an Zukunft plangen ze benotzen fir d'Run-Time Verifikatioun ze organiséieren.
  • Actions erlaabt datt verschidde Méiglechkeeten spezifizéiert ginn, duerch Zeilen getrennt (eng nei Zeil gëtt als Ofgrenzer benotzt). Zum Beispill: include-data-dir: | a=bc=d
  • Eng Analyse vu Looptypen ass ëmgesat ginn, déi an Zukunft benotzt gi fir selektiv Optimisatiounen ëmzesetzen.
  • Optimisatiounen bäigefüügt fir d'Aarbecht mat net gedeelt an entkomm Variabelen ze beschleunegen.
  • D'Fähigkeiten vum Anti-Bloat Plugin goufen erweidert, wat elo benotzt ka ginn fir d'Zuel vun de Paketen ze reduzéieren wann Dir d'Streamlit, Fackel, Knetworkx, verdeelt, skimage, bitsandbytes, tf_keras, pip, networkx a pywt Bibliothéiken benotzt (am Prinzip, bindend) ze pytest, IPython, Nues, Triton ass ausgeschloss an Dask).

Source: opennet.ru

Setzt e Commentaire