2013-09-27 16 views
5

W Visual Studio Profiler, istnieje możliwość korzystania z „próbkowania” metody profilowania, które mogą być wykorzystane na mojej aplikacji ASP.NET MVC:Ile sekund "próbka" reprezentuje profiler?

Metoda profilowania próbkowania Visual Studio Tools Profilowanie przerywa procesor komputera w określonych odstępach czasu i zbiera stos wywołań funkcji . Stos wywołań jest dynamiczną strukturą przechowującą informacje o funkcjach wykonywanych na procesorze.

Pozwala to uzyskać przybliżoną informację o tym, który kod jest najdłuższy do wykonania. Jednak nie jestem pewien, ile czasu reprezentuje każda wartość próbki. Czy wynosi 3 441 34,41 sekund? Może nie ma czystej konwersji na pomiar czasu. Jeśli tak, czy ktoś może wyjaśnić, dlaczego? Dokumentacja twierdzi, że istnieją ustawione interwały, ale nie wyjaśnia, jak długo trwa każdy interwał.

Odpowiedz

4

W moim idealnym świecie nikt nie przejmowałby się tym, jaki był pomiar czasu dla poszczególnych procedur lub linii kodu, o ile próbki pojawiały się podczas interwału, o który dbano i były nieskorelowane ze stanem programu.

Ważne jest procentowy udział.

Dla każdego wiersza kodu, który pojawia się na próbkach stosu, procent próbek, w których się pojawia (na końcu lub w środku) ma znaczenie, ponieważ jest to procent czasu, który zostałby zapisany, gdyby mógł zostać usunięty .

(Również, chyba że się mylę, nie wierzę próbek Profiler VS podczas I/O, co czyni go ślepym na niepotrzebne I/O).

odpowiedzi na Twój komentarz: Próbki były Załóżmy 100/sekundę vs. 10/sekundę, a całkowity czas wynosił 10 sekund, więc liczba próbek wynosiła 1000 w porównaniu do 100. Jeśli linia kodu znajduje się na 20% próbek stosu, to usunięcie go spowodowałoby 20% oszczędności 10 sekund lub 2 sekundy, niezależnie od częstotliwości próbkowania. Dlatego częstotliwość próbkowania nie ma znaczenia.

+0

Dzięki, i doceniam odpowiedź, ale zależy mi na pomiarze czasu. Jeśli istnieją określone przedziały czasowe do pobierania próbek, czy można wyjaśnić, dlaczego nie byłoby ustawionych czasów? – stevebot