Udgivelse af Nuitka 1.1, en compiler til Python-sproget

En udgivelse af Nuitka 1.1-projektet er tilgængelig, der udvikler en compiler til at oversætte Python-scripts til en C-repræsentation, som derefter kan kompileres til en eksekverbar fil ved hjælp af libpython for maksimal kompatibilitet med CPython (ved hjælp af native CPython-værktøjer til at manipulere objekter). Leveret fuld kompatibilitet med aktuelle udgivelser af Python 2.6, 2.7, 3.3 - 3.10. Sammenlignet med CPython viser kompilerede scripts en præstationsforbedring på 335 % i pystone-tests. Projektkoden distribueres under Apache-licensen.

Blandt ændringerne i den nye version:

  • Mulighederne for at angive konfiguration i Yaml-format er blevet udvidet.
  • Der er foretaget optimeringer i forbindelse med udelukkelsen af ​​ubrugte komponenter i standardbiblioteket (zoneinfo, concurrent, asyncio osv.), som gjorde det muligt at reducere størrelsen af ​​de resulterende eksekverbare filer.
  • Tilføjet understøttelse af alternativ syntaks ("|") i mønstermatches baseret på "match"-operatoren introduceret i Python 3.10.
  • Kompatibilitet med jinja2.PackageLoader er sikret.
  • Implementeret muligheden for at ændre størrelsen af ​​attributten __defaults__.
  • Tilføjet understøttelse af funktionerne importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata og importlib_metadata.metadata.
  • Understøttelse af at inkludere yderligere binære filer i den eksekverbare hovedfil er blevet tilføjet til Onefile-kompileringstilstanden.
  • De kompilerede moduler implementerer muligheden for at bruge funktionen importlib.resources.files.
  • Valgmuligheden "--include-package-data" giver mulighed for at specificere filmasker, for eksempel "--include-package-data=pakkenavn=*.txt".
  • For macOS er understøttelse af digital signering af eksekverbare filer blevet implementeret.
  • En metode er tilvejebragt til plugins til at tilsidesætte funktioner for den eksekverbare.
  • Mulighederne for anti-bloat-plugin'et er blevet udvidet, som nu kan bruges til at reducere antallet af pakker, når du bruger rig-, pyrect- og pytorch-bibliotekerne. Muligheden for at bruge regulære udtryk i erstatningsregler er implementeret.
  • Regressive ændringer som følge af betydelige optimeringer implementeret i den seneste udgivelse er blevet løst.

Kilde: opennet.ru

Tilføj en kommentar