2013-01-31 22 views
48

Ho cercato dappertutto una spiegazione chiara e coerente di cosa "tempo self-time" si riferisca effettivamente al contesto VisualVM e in che modo è diverso da "self time (cpu)". Inoltre, il "self time [%]" si riferisce alla CPU self-time o self-time.VisualVM e Self Time

Non sembra esserci molta documentazione su questo o almeno non l'ho trovato. Quindi qualsiasi pensiero/input sarà apprezzato.

risposta

68

"self time" è un tempo "wall-clock" impiegato nel metodo stesso (senza tempo nei metodi richiamati da tale metodo). 'self time (cpu)' è un tempo di elaborazione del tempo, quindi non include il tempo trascorso in attesa, dormendo, ecc. Sia il 'tempo di auto-tempo' che il 'tempo' (cpu) nel campionatore sono approssimazioni dei dati effettivi. 'self time [%]' si riferisce a 'self time'.

+0

Grazie mille, questo è utile. – AndyF

+12

Aggiungendo a questo anche se è una vecchia domanda, nel caso in cui aiuti qualcuno - sembra che "il tempo di auto [%]" si riferisca a qualsiasi colonna di auto-tempo che hai ordinato. Quindi, se ordinate per 'Tempo di autonomia (CPU)', la% sarà ora% della durata della CPU – Matt

+4

È giusto dire che il "tempo di auto" sarebbe un qualsiasi tempo trascorso in sottoprogrammi che non sono strumentati per essere profilati? Quindi se il metodo X chiama il metodo Y e Z, e il metodo Z non è strumentato, qualsiasi tempo trascorso nel metodo Z sarà il "tempo di auto" per il metodo X? – Marquez