2015-10-30 18 views
6

Sto provando a creare profili per determinati eseguibili utilizzando lo strumento valgrind - callgrind. Ho creato l'output annotato usando callgrind_annotate --auto=yes. L'output creato mi dice del conteggio Ir, che secondo la mia comprensione è il numero di volte in cui è stata chiamata una particolare istruzione, ma voglio sapere quale sezione del codice impiega il tempo massimo in esecuzione.Valgrind - callgrind Profiler: come sapere quale funzione richiede più tempo

Come posso saperlo?

Nella mia applicazione voglio trovare la parte che richiede più tempo ... ci possono essere casi in cui determinate funzioni sono chiamate più volte rispetto ad altre .. ma la funzione che viene chiamata meno tempo è in esecuzione più tempo rispetto agli altri

+0

Possibile duplicato di [utilizzare valgrind per conoscere il tempo (in secondi) impiegato in ciascuna funzione] (http://stackoverflow.com/questions/6663614/use-valgrind-to-know-timein-seconds-spent-in- ogni funzione) –

risposta

4

Ti consiglio di utilizzare l'interfaccia utente KCachegrind. Rende molto più facile comprendere il flusso delle applicazioni e rilevare possibili colli di bottiglia.

+0

Non ho ancora installato KCachegrind ... ma il suo output sarà di nuovo sulla base del conteggio degli eventi. – Ajay

+0

'kcachegrind' può mostrare il tempo di utilizzo delle chiamate di funzione? – Geremia

Problemi correlati