Chociaż nie mam nic przeciwko płaceniu za jeden, coś, co jest bezpłatne lub przynajmniej w wersji próbnej, byłoby idealne, ponieważ złożenie zamówienia zajmuje trochę czasu.
Bawiłem się z ProfileSharp. To absolutnie okropne.
Matthew Ruston,
1
nprof to .Net 1.1 tylko myślę. Jeśli możesz skompilować do .Net 1.1, nadal może być przydatne sprofilowanie go, a następnie ponowna kompilacja do .Net 2 w celu wydania. Jednak nie jest to możliwe, jeśli zaczniesz używać funkcji .Net2, takich jak typy ogólne i typy dopuszczające wartość null.
redcalx
1
Zgadzam się z Matthew, ProfileSharp jest okropne, nie udało mu się stworzyć profilu nawet najprostszego exe wiersza poleceń. Nie trać czasu
Michael Dausmann
Wydaje się, że rozwój nprof ostatnio nabrał tempa.
Brian Ortiz
1
Użyłem .Net Memory Profiler, aby znaleźć wyciek pamięci; jest całkiem niezły. Ma moją pieczęć aprobaty!
Cylon Cat
40
Użyłem profilera Ants w dużym projekcie C # półtora roku temu. Naprawdę działał bardzo dobrze jak na swój koszt, a nawet przewyższał kilku droższych konkurentów.
Oblicza koszt z rozdzielczością prawie wiersz po wierszu.
EQATEC profiler jest bardzo dobra i jest całkowicie darmowy. Jest łatwy w konfiguracji i obsłudze i nie wydaje się zbytnio obciążać aplikacji. Właśnie zacząłem go używać dzisiaj i znalazłem już kilka wąskich gardeł, których inaczej bym nie zauważył.
Nie za darmo w przypadku licencji komercyjnej (ale wciąż tani, 200 USD).
mhenry1384
Tak, wygląda na to, że zmienili licencje na najnowszą wersję i zaczęli pobierać opłaty za użytek komercyjny. Mimo to nadal bardzo go polecam.
HullCitySteve
3
Aktualizacja - wygląda na to, że ponownie zmienili warunki licencji, aby była bezpłatna do użytku komercyjnego dla standardowych aplikacji .NET (ale nie CF ani Silverlight)
HullCitySteve
3
Warunki licencji zmieniły się ponownie w wersji 3.6: jest teraz bezpłatna dla wszystkich platform, w tym CF i Silverlight, z ograniczeniem liczby bibliotek DLL, które mogą być instrumentowane w jednej sesji.
Richard Flamsholt
3
Nie jest już darmowy i został wykupiony przez Telerik :(
Interesujące jest to, że nikt nie wspomina, że istnieje taki w wyższych wersjach programu Visual Studio - zawsze uważałem, że jest wystarczająco dobry do profilowania wykonywania. Do profilowania pamięci używam Memory Profiler, o którym już wspomniano, ale nie jest tym, co ogólnie określiłbym jako „profiler”.
Używamy .NET Memory Profiler . To trochę brzydkie, ale bardzo przydatne do znajdowania wiszących odniesień.
Początkowo wypróbowałem profiler ANTS firmy Red Gate, który jest bardzo seksowny, ale z punktu widzenia wycieku pamięci jest do bani z następujących powodów:
1) Jest śmiesznie powolny. Wprowadzenie aplikacji w stan umożliwiający rozpoczęcie nagrywania trwało pół godziny (bez czerwonej bramki zajmuje to 20 sekund).
2) Red Gate musi uruchamiać własne narzędzie na swoim własnym narzędziu. Do czasu ukończenia dwóch migawek zużywał 900 MB pamięci! Potem się zawiesił :(
Jednak komponent czasowy Red Gate ANTS był imponujący. Po prostu nie przejmuj się profilerem pamięci, chyba że masz do czynienia z trywialną (niewielką) aplikacją.
AQTime ma ogromną zaletę w porównaniu z ANT, ponieważ obsługuje niezarządzany kod.
Rick Minerich
3
Będę profilerem ANTS drugiej czerwonej bramy . Użyłem go do wyśledzenia naprawdę niepokojących problemów z wydajnością i był bardzo prosty w użyciu (niska krzywa uczenia się) i przedstawił ładne, szczegółowe dane w sposób łatwy do zrozumienia. Cena jest tego warta, ale nie jest darmowa ...
Niesamowity NDepend Patricka Smacchii doskonale nadaje się do analizy statycznej.
Całkowicie poleciłbym NDepend do analizy statycznej, ale ostrzegam, że prawdopodobnie będziesz musiał poświęcić dzień lub dwa, aby faktycznie przeanalizować ciężar informacji, które dostarcza, a także dowiedzieć się, co właściwie oznaczają wszystkie statystyki pod względem Twój kod.
Obecna wersja SharpDevelop (3.1.1) ma ładny zintegrowany profiler. Jest dość szybki i bardzo dobrze integruje się z IDE SharpDevelop i jego runner NUnit. Wyniki są wyświetlane w elastycznym stylu drzewa / listy (użyj LINQ, aby utworzyć własny wybór). Podwójne kliknięcie wyświetlanej metody powoduje przejście bezpośrednio do kodu źródłowego.
Obecnie ich nie używaj, mój kumpel zachwyca się profilerem Mrówek. Wiem, że to płatny produkt, nie wiem, jak drogi. Jeśli zdarzy ci się obsadzić MVP, możesz to wykorzystać, aby uzyskać licencję za darmo.
czy możesz podać więcej szczegółów na temat całego MVP? dzięki,
kay.one
MVP otrzymają licencję na produkty redgate za darmo, jest to luka, która pozwala Ci wejść, jeśli masz w zespole osoby, które są MVP, dzięki czemu koszt nie jest problemem.
DevelopingChris,
Czy masz link opisujący tę lukę i jak ją wykorzystać?
Keith Sirmons
1
AQTime (zarówno perf, jak i pamięć) lub ANTS (profiler wydajności v4 lub profiler pamięci v5 beta) tutaj.
Chociaż profilowanie użycia pamięci nie jest zbyt dobre, profiler zawarty w niektórych wersjach programu Visual Studio bardzo dobrze radzi sobie z profilowaniem szybkości wykonywania.
jednym ze sposobów uzyskania dostępu do programu profilującego VS2010 jest po załadowaniu rozwiązania z menu „Debuguj” znalezienie „Rozpocznij analizę wydajności”. Szczegóły dotyczące jego możliwości są dostępne na stronie msdn.microsoft.com/query/…
ShawnFeatherly
0
Jaki jest twój cel?
Czy Twoim celem jest zlokalizowanie określonych instrukcji i z grubsza wyobrażenie o tym, co wpływają na całkowity czas wykonania, abyś mógł znaleźć sposoby na zrobienie ich inaczej?
Odpowiedzi:
Możesz spróbować następujących rzeczy:
Edycja: Nprof został zastąpiony przez SlimTune i działa z aplikacjami .Net 4.0
źródło
Użyłem profilera Ants w dużym projekcie C # półtora roku temu. Naprawdę działał bardzo dobrze jak na swój koszt, a nawet przewyższał kilku droższych konkurentów.
Oblicza koszt z rozdzielczością prawie wiersz po wierszu.
źródło
EQATEC profiler jest bardzo dobra i jest całkowicie darmowy. Jest łatwy w konfiguracji i obsłudze i nie wydaje się zbytnio obciążać aplikacji. Właśnie zacząłem go używać dzisiaj i znalazłem już kilka wąskich gardeł, których inaczej bym nie zauważył.
źródło
DotTrace z JetBrains jest szeroko stosowany.
Niesamowity NDepend Patricka Smacchii doskonale nadaje się do analizy statycznej.
źródło
Utrzymuję kompleksową listę programów profilujących dla .NET na SharpToolbox.com.
Znajdziesz tam sugerowane tutaj narzędzia i nie tylko, każde z krótkim opisem tego, co proponuje.
źródło
Interesujące jest to, że nikt nie wspomina, że istnieje taki w wyższych wersjach programu Visual Studio - zawsze uważałem, że jest wystarczająco dobry do profilowania wykonywania. Do profilowania pamięci używam Memory Profiler, o którym już wspomniano, ale nie jest tym, co ogólnie określiłbym jako „profiler”.
Jakiego rodzaju profilowanie próbowałeś wykonać?
źródło
Używamy profilera Ants tam, gdzie pracuję. Podaje bardzo szczegółowe informacje w prosty sposób.
źródło
Używamy .NET Memory Profiler . To trochę brzydkie, ale bardzo przydatne do znajdowania wiszących odniesień.
Początkowo wypróbowałem profiler ANTS firmy Red Gate, który jest bardzo seksowny, ale z punktu widzenia wycieku pamięci jest do bani z następujących powodów:
1) Jest śmiesznie powolny. Wprowadzenie aplikacji w stan umożliwiający rozpoczęcie nagrywania trwało pół godziny (bez czerwonej bramki zajmuje to 20 sekund).
2) Red Gate musi uruchamiać własne narzędzie na swoim własnym narzędziu. Do czasu ukończenia dwóch migawek zużywał 900 MB pamięci! Potem się zawiesił :(
Jednak komponent czasowy Red Gate ANTS był imponujący. Po prostu nie przejmuj się profilerem pamięci, chyba że masz do czynienia z trywialną (niewielką) aplikacją.
źródło
Użyłem AQtime i nigdy mnie nie zawiódł. Jestem pewien, że istnieje wersja próbna.
źródło
Będę profilerem ANTS drugiej czerwonej bramy . Użyłem go do wyśledzenia naprawdę niepokojących problemów z wydajnością i był bardzo prosty w użyciu (niska krzywa uczenia się) i przedstawił ładne, szczegółowe dane w sposób łatwy do zrozumienia. Cena jest tego warta, ale nie jest darmowa ...
źródło
Całkowicie poleciłbym NDepend do analizy statycznej, ale ostrzegam, że prawdopodobnie będziesz musiał poświęcić dzień lub dwa, aby faktycznie przeanalizować ciężar informacji, które dostarcza, a także dowiedzieć się, co właściwie oznaczają wszystkie statystyki pod względem Twój kod.
źródło
Miałem szczęście z profilerem pamięci .NET
źródło
Profiler EQATEC wykonał tutaj swoją pracę.
źródło
Obecna wersja SharpDevelop (3.1.1) ma ładny zintegrowany profiler. Jest dość szybki i bardzo dobrze integruje się z IDE SharpDevelop i jego runner NUnit. Wyniki są wyświetlane w elastycznym stylu drzewa / listy (użyj LINQ, aby utworzyć własny wybór). Podwójne kliknięcie wyświetlanej metody powoduje przejście bezpośrednio do kodu źródłowego.
źródło
Obecnie ich nie używaj, mój kumpel zachwyca się profilerem Mrówek. Wiem, że to płatny produkt, nie wiem, jak drogi. Jeśli zdarzy ci się obsadzić MVP, możesz to wykorzystać, aby uzyskać licencję za darmo.
źródło
AQTime (zarówno perf, jak i pamięć) lub ANTS (profiler wydajności v4 lub profiler pamięci v5 beta) tutaj.
źródło
Wczoraj znalazłem .NET Memory Profiler i muszę powiedzieć, że jestem pod wielkim wrażeniem.
Dziś zamówię licencję.
źródło
Chociaż profilowanie użycia pamięci nie jest zbyt dobre, profiler zawarty w niektórych wersjach programu Visual Studio bardzo dobrze radzi sobie z profilowaniem szybkości wykonywania.
źródło
Jaki jest twój cel?
Czy Twoim celem jest zlokalizowanie określonych instrukcji i z grubsza wyobrażenie o tym, co wpływają na całkowity czas wykonania, abyś mógł znaleźć sposoby na zrobienie ich inaczej?
Za to przysięgam na tę metodę.
źródło