Python 3.15 porta Tachyon, il profiler che si aggancia ai processi
Testo scritto con l’intelligenza artificiale a partire da una fonte citata, senza revisione umana prima della pubblicazione.
profiling.sampling permette di avviare o agganciarsi a un processo in esecuzione e ispezionarne thread, GIL e lavoro CPU senza modificare l'applicazione
Un servizio web rallenta in produzione e non puoi riavviarlo. Con Python 3.15 puoi attaccare un profiler al processo già in esecuzione e vedere cosa succede1.
Per anni gli sviluppatori hanno usato cProfile. È incluso in Python. Registra ogni chiamata di funzione. Dice quante volte ogni funzione gira. È utile per script e job batch che controlli dall’inizio alla fine1.
Quando il problema nasce in un processo già avviato, cProfile diventa scomodo. Non lo agganci al volo a un servizio che inizia a comportarsi male. Se riavvii il servizio sotto profiler, il problema può sparire. L’overhead di tracciamento può cambiare il comportamento che vuoi misurare1.
Python 3.15 introduce un’alternativa: il modulo profiling.sampling, noto come Tachyon. Può avviare un programma. Oppure si aggancia a un processo già in esecuzione. Legge il processo dall’esterno. L’applicazione non importa una libreria di profilazione e non richiede un riavvio1.
Questa modalità consente di osservare un servizio live senza modificare il codice. Il processo resta com’è. Tu analizzi dall’esterno. L’uso non dipende dal controllo completo dell’esecuzione: puoi intervenire mentre il programma continua a girare1.
Tachyon può esaminare ogni thread del processo. Distingue il lavoro di CPU dall’attesa. Mostra quale porzione di codice detiene il Global Interpreter Lock. Segna l’esecuzione dentro estensioni native. Queste funzioni offrono visibilità sullo stato del programma mentre opera e su come il tempo si distribuisce tra le attività1.
Il perimetro d’uso è distinto. cProfile resta adatto quando controlli l’esecuzione end-to-end. Serve per sapere esattamente quante volte ogni funzione viene chiamata. Lo lanci insieme allo script e ottieni misure precise a livello di funzione. Tachyon è l’opzione per le situazioni che non controlli, come un servizio già attivo che ha iniziato a comportarsi in modo anomalo1.
Se un processo sembra bloccato, Tachyon può stampare lo stack corrente di ciascun thread. Questa funzione aiuta a capire dove il codice si è fermato. La stampa degli stack arriva senza caricare una libreria nel processo e senza un riavvio1.
L’insieme di queste capacità amplia gli scenari di profilazione. Non devi fermare un servizio per capire perché è lento. Puoi attaccarti al processo già in corso, osservare i thread e vedere se stanno lavorando o aspettando. Puoi verificare chi tiene il GIL in un dato momento. Puoi riconoscere quando l’esecuzione entra in estensioni native1.
La differenza è pratica. Con cProfile organizzi test e misure quando hai il pieno controllo. Con Tachyon indaghi quando il sistema non collabora e non puoi ripartire. La scelta dipende da cosa stai cercando: numeri esatti sulle chiamate di funzione o un quadro dal vivo di cosa fa un processo già in marcia1.
Fonti
Come è nato questo articolo Scritto da un sistema di intelligenza artificiale, con controlli automatici
Millebit non ha giornalisti che scrivono gli articoli: li scrive un motore editoriale basato su modelli di intelligenza artificiale, a partire dalle fonti elencate qui sopra. Prima di uscire, ogni testo passa questi controlli:
- Fedeltà alle fonti. Un secondo passaggio toglie ogni affermazione che le fonti non sostengono. Valutazione su questo pezzo: 9/10.
- Anti-cliché. Un filtro scarta frasi fatte, enfasi e tic della prosa artificiale: superato.
- Giudizio editoriale. Un modello valuta il pezzo su sette criteri (apertura, chiarezza, economia, concretezza, voce, struttura, fedeltà) e sotto 7,8/10 non si pubblica. Questo articolo ha preso 7,9/10.
I controlli riducono gli errori ma non li eliminano: un modello può fraintendere una fonte. Per le decisioni importanti, risali alla fonte originale. Se trovi un errore, segnalacelo.
Per vedere Millebit nelle notizie principali di Google, aggiungilo alle tue fonti preferite. Oppure segui l’edizione di oggi, il feed RSS o La Sintesi.