Linguaggi di programmazione: il progetto Python più veloce Pyston fa un grande passo avanti

0
111

Liam Tung < p class="meta"> Di Liam Tung | 31 agosto 2021 — 13:58 GMT (14:58 BST) | Argomento: software aziendale

Il linguaggio di programmazione Python è un successo per i progetti di data science e machine learning su hardware ad alta potenza, ma uno dei suoi punti deboli è la velocità.

Anaconda, un'azienda che fornisce una distribuzione leader di Python per la scienza dei dati, vuole cambiarlo supportando Pyston, una nuova implementazione di Python che elimina le funzionalità di debug per la velocità.

Pyston, creato da Kevin Modzelewski, è stato reso open-source a maggio con la promessa di un'accelerazione del 30% nel codice Python. Modzelewski era un ingegnere di Dropbox, che era uno dei principali utenti di Python e ha assunto il creatore del linguaggio Guido van Rossum per cinque anni dal 2013 per migliorare il suo codice.

Anaconda ha ora assunto Modzelewski e il collega sviluppatore capo Marius Wachtler che sono stati incaricati di costruire la comunità di utenti, contributori e manutentori del progetto per garantirne la sostenibilità a lungo termine.

“Il supporto di Anaconda ci consentirà di mettere Pyston nelle mani di un maggior numero di utenti più velocemente che mai”, ha affermato Modzelewski in una nota. Anaconda afferma di avere più di 25 milioni di utenti.

Pyston esegue i programmi in media dal 20% al 50% più velocemente del Python standard, secondo Anaconda.

L'implementazione di Python è stata sviluppata presso Dropbox tra il 2014 e il 2017. È stata lanciata come nuovo progetto nel 2020 come Pyston v2.

Pyston, che deriva dal CPython ufficiale della Python Software Foundation, rimarrà un progetto open source. Con Anaconda, il progetto si concentrerà sul miglioramento della compatibilità con la legione di pacchetti di Python che hanno contribuito a renderlo dominante nella scienza dei dati e nell'apprendimento automatico, oltre a portare Pyston a più hardware.

“La nuova serie Pyston 2.x è una riscrittura completa della base di codice da zero, a partire da un fork di CPython 3.8”, afferma Anaconda in un post sul blog che descrive in dettaglio il suo piano per diventare un acceleratore generale di tutte le applicazioni Python.

Mentre Python è un successo per le applicazioni di apprendimento automatico in esecuzione su hardware potente, non ha molta presenza nelle applicazioni web e mobili dominate da JavaScript.

Il co-fondatore di Anaconda Peter Wang ha detto ZDNet di recente ha affermato che è stato “incredibilmente imbarazzante utilizzare Python per creare e distribuire applicazioni che dispongono di interfacce utente grafiche effettive”.

“Sui desktop, Python non è mai il linguaggio di prima classe del sistema operativo e deve ricorrere a framework di terze parti come Qt o wxPython”, ha affermato.

Oltre alla scienza dei dati, i punti di forza di Python sono nel legare insieme i sistemi di backend.

Van Rossum, che ora è impiegato da Microsoft, sta cercando di rendere Python due volte più veloce nella versione 3.11 di Python, una radice di tre rami Python previsti per il 2022. L'ultima versione stabile di Python è la versione 3.9. 7.

Anaconda ha già partecipato a progetti di ottimizzazione, scalabilità e prestazioni di Python.

“Uno dei più antichi progetti open source di Anaconda è il compilatore Numba, un compilatore JIT basato su LLVM per funzioni numeriche Python in esecuzione su CPU o GPU. Di conseguenza, abbiamo pensato a lungo ai compilatori Python e abbiamo scopri il potenziale di Pyston di portare rapidamente Python più veloce a un pubblico mainstream. 

“Numba affronta molto bene molti casi d'uso numerici ma non può ottimizzare interi programmi e non affronta il mondo più ampio dei casi d'uso Python. Pyston affronta il problema della compilazione Python da una direzione diversa. Tuttavia, l'ascendenza comune con l'interprete CPython significa che Numba “funziona” con esso e i due sistemi possono essere utilizzati in tandem all'interno dello stesso programma. Numba può velocizzare le singole funzioni di 2-10 volte (o più) e Pyston può migliorare le prestazioni di tutto il resto.”

Anaconda ritiene inoltre che i miglioramenti di Pyston possano essere trasferiti in upstream a CPython e combaciare con i piani di van Rossum presso Microsoft che prevede di accelerare significativamente Python.

Argomenti correlati:

Cloud Big Data Analytics Innovation Sviluppatore di collaborazione tecnologica e lavorativa Liam Tung

Di Liam Tung | 31 agosto 2021 — 13:58 GMT (14:58 BST) | Argomento: Software aziendale