Нашри Nuitka 1.1, компилятор барои забони Python

Лоиҳаи Nuitka 1.1 ҳоло дастрас аст, ки компиляторро барои тарҷумаи скриптҳои Python ба муаррифии C таҳия мекунад, ки баъдан онро метавон ба файли иҷрошаванда бо истифода аз libpython барои мутобиқати ҳадди аксар CPython (бо истифода аз абзорҳои идоракунии объекти CPython) тартиб дод. Мутобиқати пурра бо версияҳои ҷории Python 2.6, 2.7, 3.3 - 3.10 таъмин карда мешавад. Дар муқоиса бо CPython, скриптҳои тартибдодашуда 335% беҳбуди корҳоро дар нишондиҳандаҳои pystone нишон медиҳанд. Рамзи лоиҳа тибқи иҷозатномаи 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, дастгирии ба таври рақамӣ имзо кардани файлҳои иҷрошаванда амалӣ карда шудааст.
  • Усул барои плагинҳо барои бекор кардани функсияҳои иҷрошаванда пешбинӣ шудааст.
  • Имкониятҳои плагини зидди bloat васеъ карда шуданд, ки акнун метавонад барои кам кардани шумораи бастаҳо ҳангоми истифодаи китобхонаҳои бой, пирект ва pytorch истифода шавад. Имконияти истифодаи ибораҳои муқаррарӣ дар қоидаҳои ивазкунӣ амалӣ карда шуд.
  • Тағироти регрессивӣ, ки дар натиҷаи оптимизатсияи назаррас дар версияи охирин амалӣ карда шудаанд, ҳал карда шуданд.

Манбаъ: opennet.ru

Илова Эзоҳ