Il progetto Pyston, che offre Python con un compilatore JIT, è tornato a un modello di sviluppo aperto

Gli sviluppatori del progetto Pyston, che offre un'implementazione ad alte prestazioni del linguaggio Python utilizzando moderne tecnologie di compilazione JIT, hanno presentato una nuova versione di Pyston 2.2 e hanno annunciato il ritorno del progetto all'open source. L'implementazione mira a raggiungere prestazioni elevate vicine a quelle dei linguaggi di sistema tradizionali come C++. Il codice per il ramo Pyston 2 è pubblicato su GitHub sotto la PSFL (Python Software Foundation License), simile alla licenza CPython.

Ricordiamo che il progetto Pyston era precedentemente supervisionato da Dropbox, che ha smesso di finanziarne lo sviluppo nel 2017. Gli sviluppatori di Pyston fondarono la loro azienda e rilasciarono un ramo Pyston 2 notevolmente ridisegnato, che fu dichiarato stabile e pronto per un uso diffuso. Allo stesso tempo, gli sviluppatori hanno smesso di pubblicare il codice sorgente e sono passati a fornire solo assembly binari. Ora è stato deciso di rendere Pyston nuovamente un progetto open source e di trasferire l'azienda ad un modello di business legato allo sviluppo di software open source. Inoltre si sta valutando la possibilità di trasferire le ottimizzazioni da Pyston a CPython standard.

Va notato che Pyston 2.2 è il 30% più veloce rispetto a Python standard nei test prestazionali che valutano i carichi inerenti alle applicazioni del server web. C'è anche un aumento significativo delle prestazioni in Pyston 2.2 rispetto alle versioni precedenti, ottenuto principalmente attraverso l'aggiunta di ottimizzazioni per nuove aree, nonché miglioramenti ai meccanismi JIT e di caching.

Oltre alle ottimizzazioni delle prestazioni, la nuova versione è interessante anche perché trasferisce le modifiche dal ramo CPython 3.8.8. In termini di compatibilità con Python nativo, il progetto Pyston è pubblicizzato come l'implementazione alternativa più compatibile con CPython, poiché Pyston è un fork della base di codice CPython principale. Pyston supporta tutte le funzionalità di CPython, inclusa l'API C per lo sviluppo di estensioni nel linguaggio C. Tra le principali differenze tra Pyston e CPython c'è l'uso di DynASM JIT, caching in linea e ottimizzazioni generali.

Tra le modifiche in Pyston 2.2 si menziona anche la pulizia del codice base da molte funzionalità di debug di CPython, che influiscono negativamente sulle prestazioni, ma non sono quasi richieste dagli sviluppatori. Vengono fornite statistiche secondo le quali la rimozione degli strumenti di debug comporta un aumento della velocità del 2%, nonostante solo il 2% circa degli sviluppatori utilizzi queste funzioni.

Fonte: opennet.ru

Aggiungi un commento