Was ist der beste Weg, um Code mit langer Laufzeit in einer Windows Forms-Anwendung zu finden?

StackOverflow https://stackoverflow.com/questions/3942

  •  08-06-2019
  •  | 
  •  

Frage

Ich habe eine in VB.Net geschriebene Windows Forms-App geerbt.Bestimmte Teile der App laufen furchtbar langsam.Wie lässt sich am einfachsten herausfinden, welche Teile des Codes Probleme verursachen?Ich suche nach einer Möglichkeit, schnell die langsamsten Unterprogramme zu finden und sie zuerst in Angriff zu nehmen, um die App zu beschleunigen.

Ich weiß, dass es mehrere Code-Profiler-Produkte zum Kauf gibt, die anzeigen, wie lange jede Unterroutine dauert, aber ich hatte gehofft, eines zu finden frei Lösung.

War es hilfreich?

Lösung

Ich schätze den Wunsch, freie Software zu finden.In diesem Fall würde ich jedoch dringend empfehlen, alle Optionen zu prüfen, auch kommerzielle Produkte.Ich habe versucht, mit nProf zu spielen (das ist, glaube ich, Version 0.1) und hatte nicht viel Glück.Dennoch ist die Leistungsprofilierung einer Anwendung eine heikle Angelegenheit und lässt sich am besten mit einem leistungsstarken, flexiblen Tool angehen.Sofern Sie nicht kostenlos arbeiten, bin ich fest davon überzeugt, dass die Zeitersparnis, die Sie mit einem professionellen Produkt erzielen, die Kosten einer Lizenz bei weitem übersteigt.Und wenn Sie nur ein Profil für eine einzelne Anwendung erstellen möchten, gibt es für jedes kommerzielle Paket natürlich eine 15- oder 30-tägige Testversion – mehr als genug Zeit, um etwaige Probleme in einer vorhandenen Anwendung zu erkennen.Und wenn Sie Profilierungsunterstützung für mehr als nur ein einmaliges Projekt benötigen, ist es auf jeden Fall besser, ein vollwertiges Werkzeug zu kaufen.

Wir benutzen das ANTS-Profiler von RedGate und waren sehr zufrieden damit.Ich habe auch verwendet .NET-Speicherprofiler mit hervorragenden Ergebnissen.Das Coole an .NET Memory Profiler ist, dass es sich an laufende Produktionsanwendungen anhängen und ein Profil erstellen kann, was uns wirklich den Hintern gerettet hat, als wir in der Produktion einen Speicherverlust hatten, den wir in unserem Testlabor nicht reproduzieren konnten.

Die JetBrains-Leute Ich habe auch einen Profiler namens dotTrace Was ich noch nicht ausprobiert habe, aber ich muss davon ausgehen, dass es wahrscheinlich auch erstklassig ist, wenn es aus dem JetBrains-Shop kommt.

Mein Rat ist jedenfalls dieser:Versuchen Sie, Ihre App innerhalb des kostenlosen Testzeitraums von einer oder einer Kombination aus allen dreien zu reparieren (mindestens 45 Tage kostenlose Nutzung). Wenn die Zeit nicht ausreicht, wählen Sie Ihren Favoriten aus und entscheiden Sie sich für eine davon.Es wird Ihnen nicht leidtun.

Andere Tipps

nProf ist ein kostenloser .Net-Profiler (ref).

nProf ist ein gutes, kostenloses Tool für .Net Profiling.

Visual Studio verfügt außerdem über einen Leistungsprofiler, der ziemlich gut ist.Es ist nicht in allen Versionen enthalten. Für VS2008 ist es meiner Meinung nach die Developer Edition, die Sie benötigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top