Выпуск Nuitka 1.1, кампілятара для мовы Python

Даступны выпуск праекта Nuitka 1.1, які развівае кампілятар для трансляцыі скрыптоў на мове Python у прадстаўленне на мове C, якое затым можна скампіляваць у выкананы файл, які выкарыстоўвае libpython для забеспячэння максімальнай сумяшчальнасці з CPython (выкарыстоўваюцца штатныя сродкі CPython для кіравання аб'ектамі). Забяспечана поўная сумяшчальнасць з актуальнымі выпускамі Python 2.6, 2.7, 3.3 - 3.10. У параўнанні з CPython скампіляваныя скрыпты дэманструюць у тэстах pystone павышэнне прадукцыйнасці на 335%. Код праекту распаўсюджваецца пад ліцэнзіяй Apache.

Сярод змен у новай версіі:

  • Пашыраны магчымасці па заданні канфігурацыі ў фармаце Yaml.
  • Унесены аптымізацыі, звязаныя з выключэннем невыкарыстоўваных кампанентаў стандартнай бібліятэкі (zoneinfo, concurrent, asyncio і да т.п.), якія дазволілі дамагчыся памяншэнні памеру выніковых выкананых файлаў.
  • Дададзена падтрымка альтэрнатыўнага сінтаксісу («|») у супастаўленнях з узорам на аснове аператара «match», які з'явіўся ў галінцы Python 3.10.
  • Забяспечана сумяшчальнасць з jinja2.PackageLoader.
  • Рэалізавана магчымасць змены памеру атрыбута __defaults__.
  • Дададзена падтрымка функцый importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata і importlib_metadata.metadata.
  • У рэжым кампіляцыі ў адзін файл (Onefile) дададзеная падтрымка ўключэння ў асноўны выкананы файл дадатковых бінарных файлаў.
  • У скампіляваных модулях рэалізаваная магчымасць выкарыстання функцыі importlib.resources.files.
  • У опцыі "-include-package-data" дазволена ўказанне масак файлаў, напрыклад, "-include-package-data=package_name=*.txt".
  • Для macOS рэалізавана падтрымка запэўнення выкананых файлаў лічбавым подпісам.
  • Для плагінаў прадстаўлены метад для перавызначэння функцый для выкананага файла.
  • Пашыраны магчымасці плагіна anti-bloat, які зараз можа прымяняцца для памяншэння колькасці пакетаў пры выкарыстанні бібліятэк rich, pyrect і pytorch. Рэалізавана магчымасць выкарыстання рэгулярных выразаў у правілах замены.
  • Ухілены рэгрэсіўныя змены, якія сталі следствам значных аптымізацый, рэалізаваных у мінулым выпуску.

Крыніца: opennet.ru

Дадаць каментар