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?
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?
Antworten:
Sie können Folgendes versuchen:
Bearbeiten: Nprof wurde durch SlimTune ersetzt und funktioniert mit .NET 4.0-Anwendungen
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.
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.
Ich führe eine umfassende Liste von Profilern für .NET auf SharpToolbox.com.
Dort finden Sie die hier vorgeschlagenen und weitere Tools mit jeweils einer kurzen Beschreibung der Vorschläge.
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?
Wir verwenden Ants Profiler, wo ich arbeite. Es gibt auf einfache Weise sehr detaillierte Informationen.
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.
Ich habe AQtime verwendet und es hat mich nie im Stich gelassen. Ich bin sicher, dass es eine Testversion gibt.
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 ...
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.
Ich hatte viel Glück mit dem .NET-Speicherprofiler
Der EQATEC-Profiler hat hier die Arbeit erledigt.
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.
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.
AQTime (sowohl Perf als auch Memory) oder ANTS (v4 Performance Profiler oder v5 Beta Memory Profiler) hier.
Ich habe gestern den .NET Memory Profiler gefunden und muss sagen, dass ich sehr beeindruckt bin.
Ich werde heute meine Lizenz bestellen.
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.
Was ist dein Ziel?
Ist es Ihr Ziel, bestimmte Anweisungen zu finden und eine ungefähre Vorstellung davon zu bekommen, was sie zu Ihrer gesamten Ausführungszeit beitragen, damit Sie Wege finden, sie anders auszuführen?