Python Cprofile: come filtrare le chiamate specifiche dai dati profiling?
-
04-10-2019 - |
Domanda
Ho iniziato profiling uno script che ha molte affermazioni sleep(n)
. Tutto sommato, ottengo oltre il 99% del sonno speso fase di esecuzione. Tuttavia, si corre a volte in problemi di prestazioni durante il tempo che lo fa vero e proprio lavoro, ma la, Profiling dati rilevanti interessante diventa molto difficile da identificare quando per esempio utilizzando KCachegrind.
C'è un modo per lista nera determinate chiamate / funzioni da essere profilato? In alternativa, come posso filtrare tale chiamata con il post-processing dei file di dati di profilatura?
Sto usando il decoratore profilestats ( http://pypi.python.org/pypi/profilestats ).
Grazie
Soluzione
Hai bisogno di più di una semplice esclusi campioni durante il sonno (). È necessario i campioni rimanenti di dirti qualcosa di utile. Questo sarebbe il campionamento dello stack, in tempo orologio a muro, che riassume per cento a livello di line-of-code. Zoom è uno strumento buono per questo tipo di campionamento, e mi auguro che non sia troppo difficile da ignorare campioni contenere una particolare funzione.