2013-09-27 12 views
5

In Visual Studio Profiler, v'è la possibilità di utilizzare un metodo di "campionamento" di profilazione che può essere utilizzato sul mio ASP.NET MVC app:Quanti secondi un "campione" rappresenta nel profiler?

Il metodo di campionamento profilatura del Visual Studio Tools profiling interrompe il processore del computer a intervalli regolari e raccoglie lo stack di chiamata della funzione . Uno stack di chiamate è una struttura dinamica che memorizza le informazioni relative alle funzioni in esecuzione sul processore.

Ciò consente di ottenere un'indicazione approssimativa di quale codice impiega più tempo per l'esecuzione. Tuttavia, non sono sicuro di quanto tempo ogni valore di esempio rappresenta. È 3,441 34,41 secondi? Forse non vi è alcuna conversione pura in una misurazione del tempo. Se è così, qualcuno può spiegare perché? La documentazione afferma che ci sono intervalli prestabiliti, ma non approfondisce la durata di ciascun intervallo.

risposta

4

Nel mio mondo ideale, a nessuno sarebbe importato sapere quale fosse la misura del tempo per le singole routine o linee di codice, a condizione che i campioni avvenissero nell'intervallo di cui ci si preoccupava e non erano correlati allo stato del programma.

Ciò che conta è la percentuale inclusiva.

Per ogni riga di codice che appare sui campioni di stack, la percentuale di campioni su cui appare (alla fine o nel mezzo) è ciò che conta, perché è la percentuale di tempo che verrebbe salvata se potesse essere rimossa .

(Inoltre, a meno che non mi sbaglio, non credo che i campioni profiler VS durante l'I/O, che lo rende cieco a Inutile I/O.)

In risposta al tuo commento: campioni Supponiamo che erano 100/secondo vs 10/secondo, e il tempo totale era 10 secondi, quindi il numero di campioni era 1000 vs 100. Se una linea di codice si trova sul 20% dei campioni di stack, la sua rimozione farebbe risparmiare il 20% di 10 secondi o 2 secondi, indipendentemente dalla frequenza di campionamento. Ecco perché la frequenza di campionamento non ha importanza.

+0

Grazie, e apprezzo la risposta, tuttavia mi interessa la misurazione del tempo. Se ci sono intervalli stabiliti per il campionamento, potresti spiegare perché non ci sarebbero stati orari stabiliti? – stevebot