Vydanie Nuitka 1.1, kompilátora pre jazyk Python

K dispozícii je vydanie projektu Nuitka 1.1, ktorý vyvíja kompilátor na preklad skriptov Pythonu do reprezentácie C, ktorú je možné následne skompilovať do spustiteľného súboru pomocou libpythonu pre maximálnu kompatibilitu s CPythonom (pomocou natívnych nástrojov CPythonu na manipuláciu s objektmi). Poskytuje plnú kompatibilitu s aktuálnymi vydaniami Pythonu 2.6, 2.7, 3.3 - 3.10. V porovnaní s CPythonom vykazujú kompilované skripty 335% zlepšenie výkonu v testoch pystone. Kód projektu je distribuovaný pod licenciou Apache.

Medzi zmeny v novej verzii:

  • Rozšírili sa možnosti špecifikácie konfigurácie vo formáte Yaml.
  • Boli vykonané optimalizácie súvisiace s vylúčením nepoužívaných komponentov štandardnej knižnice (zoneinfo, concurrent, asyncio atď.), čo umožnilo zmenšiť veľkosť výsledných spustiteľných súborov.
  • Pridaná podpora pre alternatívnu syntax ("|") v zhode vzorov na základe operátora "match" zavedeného v Pythone 3.10.
  • Kompatibilita s jinja2.PackageLoader je zabezpečená.
  • Implementovaná možnosť zmeniť veľkosť atribútu __defaults__.
  • Pridaná podpora pre funkcie importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata a importlib_metadata.metadata.
  • Do režimu kompilácie Onefile bola pridaná podpora pre zahrnutie ďalších binárnych súborov do hlavného spustiteľného súboru.
  • Kompilované moduly implementujú schopnosť používať funkciu importlib.resources.files.
  • Voľba "--include-package-data" umožňuje špecifikovať masky súborov, napríklad "--include-package-data=package_name=*.txt".
  • Pre macOS bola implementovaná podpora pre digitálne podpisovanie spustiteľných súborov.
  • Pre doplnky je poskytnutá metóda na prepísanie funkcií pre spustiteľný súbor.
  • Rozšírili sa možnosti anti-bloat pluginu, ktorý je teraz možné použiť na zníženie počtu balíkov pri používaní knižníc rich, pyrect a pytorch. Bola implementovaná možnosť používať regulárne výrazy v pravidlách nahrádzania.
  • Regresívne zmeny vyplývajúce z významných optimalizácií implementovaných v poslednom vydaní boli vyriešené.

Zdroj: opennet.ru

Pridať komentár