Release av Nuitka 1.1, en kompilator för Python-språket

En version av Nuitka 1.1-projektet är tillgänglig, som utvecklar en kompilator för att översätta Python-skript till en C-representation, som sedan kan kompileras till en körbar fil med hjälp av libpython för maximal kompatibilitet med CPython (med inbyggda CPython-verktyg för att manipulera objekt). Förutsatt full kompatibilitet med nuvarande versioner av Python 2.6, 2.7, 3.3 - 3.10. Jämfört med CPython visar kompilerade skript en 335 % prestandaförbättring i pystone-tester. Projektkoden distribueras under Apache-licensen.

Bland ändringarna i den nya versionen:

  • Möjligheterna att ange konfiguration i Yaml-format har utökats.
  • Optimering har gjorts relaterade till uteslutningen av oanvända komponenter i standardbiblioteket (zoninfo, concurrent, asyncio, etc.), vilket gjorde det möjligt att minska storleken på de resulterande körbara filerna.
  • Lade till stöd för alternativ syntax ("|") i mönstermatchningar baserat på "match"-operatorn som introducerades i Python 3.10.
  • Kompatibilitet med jinja2.PackageLoader säkerställs.
  • Implementerade möjligheten att ändra storleken på attributet __defaults__.
  • Lade till stöd för funktionerna importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata och importlib_metadata.metadata.
  • Stöd för att inkludera ytterligare binära filer i den körbara huvudfilen har lagts till i kompileringsläget Onefile.
  • De kompilerade modulerna implementerar möjligheten att använda funktionen importlib.resources.files.
  • Alternativet "--include-package-data" tillåter att ange filmasker, till exempel "--include-package-data=paketnamn=*.txt".
  • För macOS har stöd för digital signering av körbara filer implementerats.
  • En metod tillhandahålls för plugins för att åsidosätta funktioner för den körbara filen.
  • Möjligheterna för anti-bloat-pluginet har utökats, vilket nu kan användas för att minska antalet paket när du använder rich-, pyrect- och pytorch-biblioteken. Möjligheten att använda reguljära uttryck i ersättningsregler har implementerats.
  • Regressiva förändringar till följd av betydande optimeringar som implementerades i den senaste versionen har lösts.

Källa: opennet.ru

Lägg en kommentar