piątek, 7 maja 2010

Profilowanie kodu w .NET

Przychodzi moment, kiedy zaczyna liczyć się wydajność. Wtedy dobry profiler jest niezastąpiony.

Dla platformy .NET istnieje wiele profilerów, ale oferta darmowych rozwiązań jest ograniczona, a przy tym wiele z nich pamięta czasy .NET 1.1 i na tym etapie się zatrzymała.

Na tym tle bardzo pozytywnie wyróżnia się EQATEC Profiler, który, mimo że darmowy, może stawać w szranki z płatnymi narzędziami.

Zaletą tego profilera jest niezwykła prostota użycia:
1. zbuduj swoją aplikację,
2. dodaj do skompilowanych plików informacje dla profilera,
3. uruchom aplikację,
4. zapisz wyniki,
5. obejrzyj raport

oraz niesamowita elastyczność. EQATEC profiler potrafi profilować aplikacje, które są "czysto" .NETowe (od 2.0 do 4.0), jak również aplikacje Silverlight, .NET Compact Framework, usługi webowe, strony ASP.NET oraz .NETowe DLLki. Dość powiedzieć, że świetnie sobie radzi nawet z aplikacjami wykonanymi we frameworku ASP.NET MVC.

Jego elastyczność wynika z niezwykle prostej zasady działania - do każdej metody profilowanej aplikacji (właściwie prawie każdej - pomijane są "malutkie" metody) dodawane są 2 instrukcje. Pierwsza, dodawana na samym początku, wysyła informacje do profilera (przez port TCP), że rozpoczęło się wykonywanie danej metody. Druga instrukcja, dodawana w miejscach zakończenia metody, wysyła informacje o zakończeniu wykonywania. Czyli nasza aplikacja pracuje jako klient wysyłający dane, a EQATEC Profiler jako serwer zbierający i przetwarzający informacje. Prosto, ale dzięki temu skutecznie i bardzo elastycznie.

Profilowanie odbywa się tylko na poziomie pojedynczych metod (nie dogrzebiemy się do czasu wykonania jednej wybranej linii kodu), ale nie jest to tak naprawdę aż tak duży problem. Zresztą darowanemu koniowi... ;)

Link: http://www.eqatec.com/tools/profiler

Brak komentarzy:

Prześlij komentarz