Vydání Nuitka 2.0, kompilátoru pro jazyk Python

Je k dispozici vydání projektu Nuitka 2.0, vyvíjející kompilátor pro překlad skriptů Python do reprezentace C, které lze následně zkompilovat do spustitelného souboru pomocí libpythonu pro maximální kompatibilitu s CPythonem (pomocí nativních nástrojů CPythonu pro manipulaci s objekty). Poskytuje plnou kompatibilitu s aktuálními verzemi Pythonu 2.6, 2.7, 3.3 - 3.11. Ve srovnání s CPythonem vykazují kompilované skripty 335% zlepšení výkonu v testech pystone. Kód projektu je distribuován pod licencí Apache.

Mezi změny v nové verzi:

  • Přidali jsme možnost používat proměnné v konfiguracích balíčků, což vám umožňuje dotazovat se na hodnoty z nainstalovaných balíčků během kompilace a použít tyto hodnoty k určení backendu. Podpora proměnných v konfiguracích vám umožňuje vyřešit mnoho problémů, které dříve vyžadovaly pluginy.
  • Přidána podpora pro uživatelem definované parametry, které ovlivňují konfiguraci každého balíčku. Parametry lze číst pomocí nové funkce get_parameter a používat k řízení chování modulů (například můžete nastavit parametr pro zakázání Numba JIT nebo Torch JIT).
  • Přidána volba „--include-onefile-external-data“ pro určení šablon pro datové soubory, které jsou definovány v konfiguraci, ale musí být dodány odděleně od spustitelného souboru při sestavování v režimu onefile.
  • Přidána volba „--cf-protection“ pro nastavení režimu ochrany CFI (Control Flow Integrity) v GCC, který blokuje narušení řídicího toku.
  • Pro soubory YAML pluginů byla implementována možnost generování kontrolních součtů pro ověření integrity, které se v budoucnu plánují používat pro ověření za běhu.
  • Akce umožňují zadat více možností oddělených řádky (s novým řádkem jako oddělovačem). Například: include-data-dir: | a=bc=d
  • Byla provedena analýza typů cyklů, která bude v budoucnu využita k implementaci selektivních optimalizací.
  • Přidány optimalizace pro urychlení práce s nesdílenými a escapovanými proměnnými.
  • Plugin proti nafouknutí byl rozšířen, aby se snížil počet balíčků při použití knihoven streamlit, torch, knetworkx, distributed, skimage, bitsandbytes, tf_keras, pip, networkx a pywt (většinou odstraněny závislosti pytest, IPython, nose, triton a dask).

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster