Gibt es anständige C # -Profiler da draußen? [geschlossen]


83

Ich brauche einen C # -Profiler.

Obwohl ich nicht abgeneigt bin, für eine zu bezahlen, wäre etwas, das kostenlos ist oder zumindest eine Testversion enthält, ideal, da es einige Zeit dauert, eine Bestellung aufzugeben.

Irgendwelche Empfehlungen?



Es sagt viel über SO aus, dass ein Grund für die Zensur einer Frage darin besteht, dass "wahrscheinlich eine Debatte ausgelöst wird".
Glenn Maynard

Antworten:


35

Sie können Folgendes versuchen:


Bearbeiten: Nprof wurde durch SlimTune ersetzt und funktioniert mit .NET 4.0-Anwendungen


7
Ich habe mit ProfileSharp herumgespielt. Es ist absolut schrecklich.
Matthew Ruston

1
nprof ist .Net 1.1 nur denke ich. Wenn Sie mit .Net 1.1 kompilieren können, kann es dennoch nützlich sein, das Profil zu erstellen und dann zur Veröffentlichung erneut mit .Net 2 zu kompilieren. Dies ist jedoch nicht möglich, wenn Sie .Net2-Funktionen wie Generika und nullfähige Typen verwenden.
Redcalx

1
Stimmen Sie mit Matthew überein, ProfileSharp ist schrecklich, konnte es nicht einmal zum Profilieren der einfachsten Befehlszeilen-Exe bringen. Verschwenden Sie nicht Ihre Zeit
Michael Dausmann

Die Entwicklung auf nprof scheint sich in letzter Zeit beschleunigt zu haben.
Brian Ortiz

1
Ich habe .Net Memory Profiler verwendet, um einen Speicherverlust zu finden. Es ist sehr gut. Es hat mein Gütesiegel!
Zylonische Katze

40

Ich habe Ants Profiler vor anderthalb Jahren für ein großes c # -Projekt verwendet. Es lief wirklich sehr gut für das, was es kostete, und übertraf sogar einige der teureren Konkurrenten.

Die Kosten werden mit einer zeilenweisen Auflösung berechnet.


1
Ich mag auch ANTS. Es ist von Redgate.
Marcel

32

Der EQATEC Profiler ist sehr gut und völlig kostenlos. Es ist einfach einzurichten und zu verwenden und scheint der Anwendung keinen allzu großen Aufwand zuzufügen. Ich habe gerade erst damit begonnen und habe bereits einige Engpässe gefunden, die ich sonst nicht entdeckt hätte.


Nicht kostenlos für eine kommerzielle Lizenz (aber immer noch billig, 200 US-Dollar).
Mhenry1384

Ja, es sieht so aus, als hätten sie die Lizenz für die neueste Version geändert und Gebühren für die kommerzielle Nutzung erhoben. Ich kann es trotzdem sehr empfehlen.
HullCitySteve

3
Update - es sieht so aus, als hätten sie die Lizenzbedingungen erneut geändert, um sie für die kommerzielle Nutzung für Standard-.NET-Anwendungen (aber nicht für CF oder Silverlight) kostenlos zu machen
HullCitySteve

3
Die Lizenzbedingungen haben sich in Release 3.6 erneut geändert: Sie sind jetzt für alle Plattformen, einschließlich CF und Silverlight, kostenlos , wobei die Anzahl der DLLs, die in einer Sitzung instrumentiert werden können, begrenzt ist.
Richard Flamsholt

3
Nicht mehr kostenlos und wurde von Telerik aufgekauft :(
Pingoo

29

dotTrace von JetBrains ist weit verbreitet.

Patrick Smacchias fantastisches NDepend eignet sich hervorragend für statische Analysen.


1
dotTrace ist wirklich ein ausgezeichneter Profiler, der extrem einfach zu bedienen ist.
Stefan Monov

dotTrace 3.1 funktioniert nicht mit .NET 4. Wir müssen auf dotTrace 4.0 warten.
Bobby Cannon

1
Als Update unterstützen sowohl dotTrace 4 Performance als auch dotTrace 3.5 Memory .NET 4.
Jura Gorohovsky


7

Es ist interessant, dass niemand erwähnt, dass es eine in den High-End-Versionen von Visual Studio gibt - ich habe immer festgestellt, dass dies gut genug für die Ausführung von Ausführungsprofilen ist. Für die Speicherprofilerstellung verwende ich den bereits erwähnten Speicherprofiler, der jedoch nicht als "Profiler" bezeichnet wird.

Welche Art von Profilerstellung haben Sie versucht?



6

Wir verwenden .NET Memory Profiler . Es ist ein bisschen hässlich, aber sehr nützlich, um baumelnde Referenzen zu finden.

Ich habe ursprünglich den ANTS-Profiler von Red Gate ausprobiert, der sehr sexy ist, aber aus Sicht des Speicherverlusts ist er aus folgenden Gründen zum Kotzen:

1) Es ist lächerlich langsam. Es dauerte eine halbe Stunde, bis die Anwendung in einen Zustand versetzt war, in dem die Aufnahme gestartet werden konnte (dauert 20 Sekunden ohne Red-Gate).

2) Red Gate muss sein eigenes Werkzeug auf seinem eigenen Werkzeug ausführen. Als ich zwei Schnappschüsse fertigstellte, waren 900 MB Speicher belegt! Es stürzte dann ab :(

Die Timing-Komponente von Red Gate ANTS war jedoch beeindruckend. Kümmern Sie sich nur nicht um den Speicherprofiler, es sei denn, Sie haben es mit einer trivialen Anwendung (geringer Platzbedarf) zu tun.


2
Haben Sie v4 von beiden ausprobiert? Es ist jetzt viel besser :)
Thecoop

4

Ich habe AQtime verwendet und es hat mich nie im Stich gelassen. Ich bin sicher, dass es eine Testversion gibt.


AQTime hat gegenüber ANTs einen großen Vorteil, da es nicht verwalteten Code unterstützt.
Rick Minerich

3

Ich werde den ANTS-Profiler von Red Gate unterstützen . Ich habe es verwendet, um einige wirklich problematische Leistungsprobleme aufzuspüren, und es war kinderleicht zu bedienen (niedrige Lernkurve) und präsentierte nette, detaillierte Daten auf eine Weise, die leicht zu verstehen war. Das Preisschild ist es wert, aber es ist nicht kostenlos ...


2

Patrick Smacchias fantastisches NDepend eignet sich hervorragend für statische Analysen.

Ich würde NDepend für die statische Analyse uneingeschränkt empfehlen, aber seien Sie gewarnt, dass Sie wahrscheinlich ein oder zwei Tage Zeit einplanen müssen, um die darin enthaltenen Informationen zu analysieren und herauszufinden, was alle Statistiken tatsächlich bedeuten dein Code.



2

Der EQATEC-Profiler hat hier die Arbeit erledigt.


2

Die aktuelle Version von SharpDevelop (3.1.1) hat einen schönen integrierten Profiler. Es ist ziemlich schnell und lässt sich sehr gut in die SharpDevelop IDE und ihren NUnit Runner integrieren. Die Ergebnisse werden in einem flexiblen Baum- / Listenstil angezeigt (verwenden Sie LINQ, um Ihre eigene Auswahl zu erstellen). Durch Doppelklicken auf die angezeigte Methode wird direkt in den Quellcode gesprungen.


1

Verwenden Sie sie derzeit nicht, ein Freund von mir schwärmt von Ants Profiler. Ich weiß, es ist ein kostenpflichtiges Produkt, nicht sicher, wie teuer. Wenn Sie zufällig einen MVP besetzen, können Sie diesen möglicherweise nutzen, um eine kostenlose Lizenz zu erhalten.


Können Sie etwas mehr Details über die gesamte MVP-Sache liefern? danke,
kay.one

MVPs erhalten die Lizenz, Redgate-Produkte kostenlos zu erhalten. Dies ist eine Lücke, in die Sie gelangen, wenn Sie Leute in Ihrem Team haben, die MVPs sind und die Kosten zu einem Problem machen.
DevelopingChris

Haben Sie einen Link, der diese Lücke beschreibt und wie Sie daraus Kapital schlagen können?
Keith Sirmons

1

AQTime (sowohl Perf als auch Memory) oder ANTS (v4 Performance Profiler oder v5 Beta Memory Profiler) hier.



0

Der in einigen Versionen von Visual Studio enthaltene Profiler ist zwar nicht sehr gut für die Profilspeichernutzung geeignet, leistet jedoch einen sehr guten Beitrag zur Profilerstellung der Ausführungsgeschwindigkeit.


Eine Möglichkeit, zum VS2010-Profiler zu gelangen, besteht darin, nach dem Laden einer Lösung im Menü "Debuggen" nach "Leistungsanalyse starten" zu suchen. Details zu den Funktionen finden Sie unter msdn.microsoft.com/query/…
ShawnFeatherly

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.