2013-09-27 6 views
5

Im Visual Studio Profiler gibt es eine Option, um eine „sampling“ Methode der Profilerstellung zu verwenden, die auf meinem ASP.NET MVC-app verwendet werden können:Wie viele Sekunden repräsentiert ein "Sample" im Profiler?

Die Sampling-Profilierungsverfahren der Visual Tool Studio Profilieren unterbricht den Computerprozessor in festgelegten Intervallen und sammelt den Funktionsaufruf . Ein Aufruf-Stack ist eine dynamische Struktur, die Informationen über die Funktionen speichert, die auf dem Prozessor ausgeführt werden.

Dies ermöglicht mir eine ungefähre Angabe, welcher Code am längsten ausgeführt wird. Ich bin mir jedoch nicht sicher, wie viel Zeit jeder Abtastwert darstellt. Ist 3,441 34,41 Sekunden? Vielleicht gibt es keine reine Umrechnung in eine Zeitmessung. Wenn ja, kann jemand erklären warum? Die Dokumentation behauptet, dass es festgelegte Intervalle gibt, aber nicht, wie lange jedes Intervall dauert.

Antwort

4

In meiner idealen Welt würde sich niemand darum kümmern, was die Zeitmessung für einzelne Routinen oder Codezeilen war, solange die Stichproben während des interessierenden Intervalls passierten und nicht mit dem Status des Programms korrelierten.

Was zählt, ist die inklusive Prozent.

Für jede Codezeile, die in Stack-Samples angezeigt wird, ist der Prozentwert der Samples (am Ende oder in der Mitte) von Bedeutung, da dies der Prozentsatz an Zeit ist, der gespeichert würde, wenn sie entfernt werden könnte .

(Auch wenn ich falsch bin, glaube ich nicht, die VS-Profiler Proben während der I/O, die blind macht I/O unnötigen.)

auf Ihren Kommentar Antwort: Es seien Proben 100/Sekunde vs. 10/Sekunde, und die Gesamtzeit betrug 10 Sekunden, also die Anzahl der Proben waren 1000 vs. 100. Wenn eine Codezeile auf 20% der Stapelproben liegt, würde das Entfernen 20% sparen von 10 Sekunden oder 2 Sekunden, unabhängig von der Abtastrate. Deshalb spielt die Abtastrate keine Rolle.

+0

Danke, und ich schätze die Antwort, aber ich interessiere mich für Zeitmessung. Wenn es festgelegte Intervalle für die Probenahme gibt, könnten Sie erklären, warum es keine festgelegten Zeiten geben würde? – stevebot