Uscita di Nuitka 2.0, compilatore per il linguaggio Python

È disponibile la versione del progetto Nuitka 2.0, che sviluppa un compilatore per la traduzione di script in Python in codice C, cui può seguire la compilazione in un file eseguibile che utilizza libpython per garantire la massima compatibilità con CPython (utilizzando gli strumenti standard di CPython per la gestione degli oggetti). È garantita la piena compatibilità con le versioni attuali di Python 2.6, 2.7, 3.3 - 3.11. Rispetto a CPython, gli script compilati mostrano nei test pystone un aumento delle prestazioni del 335%. Il codice del progetto è distribuito con licenza Apache.

Tra le modifiche nella nuova versione:

  • È stata aggiunta la possibilità di utilizzare variabili nella configurazione del pacchetto, consentendo di richiedere i valori dai pacchetti installati durante la compilazione e utilizzare questi valori per determinare il backend. Il supporto per le variabili nella configurazione consente di risolvere in modo standard molteplici problemi che in precedenza richiedevano l'uso di plugin.
  • È stato aggiunto il supporto per i parametri definiti dall'utente per influenzare la configurazione di ciascun pacchetto. I parametri possono essere letti tramite la nuova funzione get_parameter e utilizzati per selezionare il comportamento dei moduli (ad esempio, è possibile impostare un parametro per disattivare Numba JIT o Torch JIT).
  • È stata aggiunta l'opzione «—include-onefile-external-data» per specificare i modelli di file dei dati definiti nella configurazione ma da fornire separatamente dal file eseguibile durante la compilazione in modalità onefile.
  • È stata aggiunta l'opzione «—cf-protection» per abilitare in GCC la modalità di protezione CFI (Control Flow Integrity), che blocca le violazioni dell'ordine normale di esecuzione (control flow).
  • Per i file yaml dei plugin è stata implementata la possibilità di creare checksum per verificare l'integrità, che in futuro saranno utilizzati per organizzare la verifica durante l'esecuzione.
  • Negli Actions è consentito specificare più opzioni, separate da righe (una nuova riga viene usata come delimitatore). Ad esempio: include-data-dir: | a=b c=d
  • È stata implementata l'analisi dei tipi di cicli, che in futuro sarà utilizzata per implementare ottimizzazioni selettive.
  • Sono state aggiunte ottimizzazioni per velocizzare l'elaborazione di variabili non condivisibili e protette.
  • Sono state ampliate le funzionalità del plugin anti-bloat, che ora può essere utilizzato per ridurre il numero di pacchetti quando si utilizzano le librerie streamlit, torch, knetworkx, distributed, skimage, bitsandbytes, tf_keras, pip, networkx e pywt (principalmente esclusa la dipendenza da pytest, IPython, nose, triton e dask).

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster