Uscita di Nuitka 4.0, il compilatore per il linguaggio Python. Progresso nello sviluppo del JIT in CPython.

È disponibile l'uscita del progetto Nuitka 4.0, che sviluppa un compilatore per la traduzione di script in Python in una rappresentazione in C, la quale può poi essere compilata in un file eseguibile che utilizza libpython per garantire la massima compatibilità con CPython (si usano gli strumenti nativi di CPython per gestire gli oggetti). È garantita la completa compatibilità con le versioni attuali di Python 2.6, 2.7, 3.4 – 3.13. Rispetto a CPython, gli script compilati mostrano nei test pystone un aumento delle prestazioni del 335%. Il codice del progetto è distribuito sotto licenza Apache.

Nella nuova versione:

  • Sono state apportate modifiche per migliorare la compatibilità con Python 3.12, 3.13 e 3.14, ad esempio, è stata aggiunta la supporto per l'elaborazione differita delle annotazioni e la nuova sintassi di annotazione dei tipi per classi e funzioni generiche.
  • È stata aggiunta la possibilità sperimentale di utilizzare il compilatore Zig (zig cc) come backend per il compilatore C in Nuitka.
  • È stato aggiunto il supporto preliminare per ottimizzazioni LTO quando si utilizza il compilatore Clang.
  • È stato proposto un decoratore «@nuitka_ignore» per escludere la compilazione delle funzioni.
  • Sono state implementate le opzioni: «—project» per la compilazione utilizzando le impostazioni dal file pyproject.toml, «—devel-profile-compilation» per il profilo in fase di compilazione, «—debug-self-forking» per il debug delle fork bomb, «—include-windows-runtime-dlls» per gestire l'inclusione della DLL C runtime in Windows, «—qt-debug-plugins» per diagnosticare il caricamento dei plugin Qt.
  • Aggiunta la compatibilità con le versioni più recenti dei pacchetti oracledb, win32ctypes, dask, dataparser, puremagic, pygments.lexers, tomli, av, sentry_sdk, jedi, parso, line_profiler e pandas.

Inoltre, si può notare il rapporto sul progresso dello sviluppo del compilatore JIT in CPython. Gli sviluppatori si sono posti l'obiettivo di aumentare le prestazioni del JIT del 5% entro il rilascio di CPython 3.15 e del 10% entro il rilascio di 3.16, realizzando la possibilità di utilizzare il JIT in modalità Free-threading (senza lock globale). Nello stato attuale, l'uso del JIT nelle versioni alpha di CPython 3.15 mostra già un'accelerazione media dell'11-12% sulla piattaforma macOS AArch64 e del 5-6% sulla piattaforma x86_64 Linux rispetto all'interprete standard. In alcuni test, l'attivazione del JIT varia da un'accelerazione di oltre il 100% a una diminuzione del 20% delle prestazioni.

Uscita di Nuitka 4.0, il compilatore per il linguaggio Python. Progresso nello sviluppo del JIT in CPython.


Fonte: opennet.ru
Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster