Welche Profiler haben Sie bei der Arbeit mit .net-Programmen verwendet, und welche würden Sie besonders empfehlen?
Antworten
Zu viele Anzeigen?Vergessen Sie nicht die fantastische Scitech .net-Speicher-Profiler
Es ist ideal, um herauszufinden, warum Ihrer .net-Anwendung der Speicher ausgeht.
Ich möchte hinzufügen, dass die Fähigkeit von dotTrace diff Speicher- und Leistungsverfolgungssitzungen ist von unschätzbarem Wert (ANTS hat vielleicht auch eine Speicher-Diff-Funktion, aber ich habe keinen Leistungsunterschied gesehen).
Die Möglichkeit, eine Profiling-Sitzung vor und nach einer Fehlerbehebung oder Verbesserung durchzuführen und dann die Ergebnisse zu vergleichen, ist unglaublich wertvoll, insbesondere bei einer riesigen Legacy-.NET-Anwendung (wie in meinem Fall), bei der die Leistung nie eine Priorität war und bei der die Suche nach Engpässen SEHR mühsam sein kann. Mit einem Vorher-Nachher-Vergleich können Sie die Veränderung der Anzahl der Aufrufe für jede Methode und die Veränderung der Dauer für jede Methode .
Dies ist nicht nur bei Codeänderungen hilfreich, sondern auch, wenn Sie eine Anwendung haben, die z. B. für jeden Kunden eine andere Datenbank verwendet. Wenn sich ein Kunde über Langsamkeit beschwert, können Sie eine Profiling-Sitzung mit seiner Datenbank durchführen und die Ergebnisse mit einer "schnellen" Datenbank vergleichen, um festzustellen, welche Operationen zur Langsamkeit beitragen. Natürlich gibt es viele datenbankseitige Leistungstools, aber manchmal ist es wirklich hilfreich, die Leistungsmetriken von der Anwendungsseite aus zu sehen (denn das ist näher an dem, was der Benutzer tatsächlich sieht).
Fazit: dotTrace funktioniert hervorragend, und das Diff ist von unschätzbarem Wert.
AQTime ist vernünftig, hat aber eine gewisse Lernkurve und ist nicht so einfach zu benutzen wie die in Team Suite eingebaute Lösung
In der Vergangenheit habe ich den Profiler verwendet, der im Lieferumfang von Visual Studio Team System .
Die aktuelle Version von SharpDevelop (3.1.1) hat einen schönen integrierten Profiler. Er ist ziemlich schnell und integriert sich sehr gut in die SharpDevelop IDE und ihren NUnit-Runner. Die Ergebnisse werden in einem flexiblen Baum/Listen-Stil angezeigt (verwenden Sie LINQ, um Ihre eigene Auswahl zu erstellen). Ein Doppelklick auf die angezeigte Methode springt direkt in den Quellcode.