Sto usando cProfile, pstats e Gprof2dot per profilare uno script python piuttosto lungo.cProfile e Python: trovare il numero di riga specifico che il codice trascorre più tempo su
I risultati indicano che si impiegano più tempo per chiamare un metodo in un oggetto che ho definito. Tuttavia, quello che mi piacerebbe davvero è sapere esattamente quale numero di linea all'interno di quella funzione sta mangiando il tempo.
Qualche idea è come ottenere queste informazioni aggiuntive?
(A proposito, sto usando Python 2.6 su OSX Snow Leopard se questo aiuta ...)
refactoring in piccole funzioni non è sempre possibile - e le chiamate di funzione sono costose in Python, questo può influenzare la velocità in modo significativo. –
+1: rompere in parti più piccole è il modo più semplice. Inoltre è possibile racchiudere alcuni blocchi in funzioni temporali definite localmente (per la creazione di profili). Ciò consentirà anche chiamate contabili separate per la stessa funzione da luoghi diversi. –