Wydanie Nuitka 1.1, kompilatora języka Python

Dostępna jest wersja projektu Nuitka 1.1, rozwijająca kompilator do tłumaczenia skryptów Pythona na reprezentację C, którą można następnie skompilować do pliku wykonywalnego przy użyciu libpython w celu uzyskania maksymalnej zgodności z CPython (przy użyciu natywnych narzędzi CPython do manipulowania obiektami). Zapewniono pełną kompatybilność z aktualnymi wersjami Pythona 2.6, 2.7, 3.3 - 3.10. W porównaniu z CPythonem skompilowane skrypty wykazują 335% poprawę wydajności w testach pystone. Kod projektu jest dystrybuowany na licencji Apache.

Wśród zmian w nowej wersji:

  • Rozszerzono możliwości określania konfiguracji w formacie Yaml.
  • Dokonano optymalizacji związanych z wykluczeniem nieużywanych komponentów standardowej biblioteki (zoneinfo, concurrent, asyncio itp.), co pozwoliło zmniejszyć rozmiar powstałych plików wykonywalnych.
  • Dodano obsługę alternatywnej składni („|”) w dopasowaniach wzorców w oparciu o operator „match” wprowadzony w Pythonie 3.10.
  • Zapewniona jest kompatybilność z jinja2.PackageLoader.
  • Zaimplementowano możliwość zmiany rozmiaru atrybutu __defaults__.
  • Dodano obsługę funkcji importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata i importlib_metadata.metadata.
  • Do trybu kompilacji Onefile dodano obsługę dołączania dodatkowych plików binarnych do głównego pliku wykonywalnego.
  • Skompilowane moduły implementują możliwość wykorzystania funkcji importlib.resources.files.
  • Opcja „--include-package-data” umożliwia określenie masek plików, na przykład „--include-package-data=nazwa_pakietu=*.txt”.
  • W systemie macOS zaimplementowano obsługę cyfrowego podpisywania plików wykonywalnych.
  • Dla wtyczek dostępna jest metoda zastępowania funkcji pliku wykonywalnego.
  • Rozszerzono możliwości wtyczki zapobiegającej wzdęciom, która może teraz zostać wykorzystana do zmniejszenia liczby pakietów podczas korzystania z bibliotek rich, pyrect i pytorch. Zaimplementowano możliwość stosowania wyrażeń regularnych w regułach zastępowania.
  • Naprawiono regresywne zmiany wynikające ze znaczących optymalizacji wprowadzonych w ostatniej wersji.

Źródło: opennet.ru

Dodaj komentarz