Forum >> Notizie >> Python diventa sempre più veloce: cosa sta cambiando davvero

Pagina: 1

Per anni Python si è portato dietro una fama difficile da scrollarsi di dosso: potente, versatile, ma non esattamente il linguaggio più veloce del mondo. Negli ultimi anni però qualcosa è cambiato. E non poco.

Dalla versione 3.11 in poi, Python ha iniziato a ricevere miglioramenti significativi in termini di performance, grazie a una serie di ottimizzazioni dell’interprete che stanno rendendo il linguaggio sempre più competitivo anche in scenari dove prima non era la scelta ideale.

Secondo i dati ufficiali del team Python, Python 3.11 ha introdotto miglioramenti medi intorno al 10-60% rispetto alla versione 3.10, grazie a un nuovo interprete più efficiente e a tecniche come l’adaptive specializing interpreter.

Le versioni successive, come 3.12, 3.13 e 3.14, hanno continuato su questa strada, lavorando su:

- ottimizzazione dell’esecuzione del bytecode
- miglior gestione della memoria
- riduzione dell’overhead nelle chiamate di funzione
- miglioramenti nelle strutture dati interne

In molti casi reali, questi interventi si traducono in applicazioni sensibilmente più rapide, senza richiedere modifiche al codice esistente.

Ma le novità più interessanti riguardano due cambiamenti strutturali molto importanti.

Il primo è il superamento del Global Interpreter Lock (GIL).

Con Python 3.13 è stato introdotto ufficialmente il supporto al cosiddetto “free-threading”, ovvero una modalità opzionale dell’interprete che permette di eseguire codice Python senza il GIL.

Questo non significa che il GIL sia sparito: la modalità tradizionale resta quella predefinita, soprattutto per garantire compatibilità con l’ecosistema esistente.

Tuttavia, il fatto che il supporto sia ora parte ufficiale del linguaggio segna un passaggio storico: Python può finalmente evolvere verso un vero parallelismo multi-thread anche nelle applicazioni CPU-bound.

Il secondo elemento chiave è l’introduzione iniziale di un JIT compiler (Just-In-Time).

Sempre a partire da Python 3.13, sono state introdotte le basi per un sistema di compilazione JIT che permette di ottimizzare dinamicamente l’esecuzione del codice.

Il JIT è una tecnologia già utilizzata in linguaggi come Java e JavaScript, e consente di tradurre parti di codice in forma più efficiente durante l’esecuzione, migliorando le performance senza interventi manuali da parte dello sviluppatore.

Anche in questo caso siamo nelle prime fasi, ma il potenziale è enorme: combinato con le altre ottimizzazioni, il JIT rappresenta uno dei tasselli fondamentali per rendere Python sempre più competitivo anche in termini di velocità pura.

In altre parole, Python non sta solo diventando più veloce, sta cambiando profondamente il modo in cui viene eseguito. E, fatemelo scrivere con un po' di orgoglio, per una volta, migliorare le performance non significa scrivere codice più complesso.

Significa semplicemente aggiornare Python.
Interessanti indicazioni.




Soprattutto riguardo al GIL

... "aggiornare python", si certo, suggerimento giusto, come sarebbe anche giusto "aggiornare la propria conoscenza" ... cosa su cui spesso si pecca (io per primo), vuoi per pigrizia, vuoi perché sovente molto impegnativo e bisogna trovare un giusto equilibrio tra "Fare" e "Sapere" per poter giungere ad un "saper fare" almeno sufficiente.




;)
Fatti non foste a viver come bruti...
L’apprendimento continuo dovrebbe essere alla base del pensiero di ogni informatico, sia per professione che per diletto.

Oggi, ancora più di ieri, fermarsi alle proprie conoscenze (al proprio “orticello”) e non voler approfondire lo sconfinato mondo che ci circonda è quasi delittuoso; anzi, dal punto di vista lavorativo, è anche piuttosto pericoloso.

“Chi si ferma è perduto” direi che calza a pennello per qualsiasi ruolo nel meraviglioso mondo dell’IT. Se poi lo fai per rifiuto verso questa o quella tecnologia… Houston, abbiamo un problema, e anche bello grosso.

Oggi è l’AI, ieri era il web 2.0, il giorno prima l'accesso/scoperta di internet e quello prima ancora il passaggio dai calcolatori giganti ai personal computer. Insomma, ogni periodo porta con sé una dose di cambiamento e ricerca, e il nostro compito è quello di restare aperti, continuando ad apprendere.

Almeno fino al giorno in cui chiuderemo gli occhi per l’ultima volta, a quel punto saremo esentati. :O


Pagina: 1



Esegui il login per scrivere una risposta.