Hallo zusammen,
nach langer Abstinenz wollte ich mich mal mit einer Frage melden...
Folgendes Problem habe ich:
Ich habe eine .Net Applikation (Windows Forms) erstellt. Diese kann zur Laufzeit dynamisch ein, sagen wir mal, "Plugin" für das Modul laden. Dies wird mittels Reflection erledigt. Nun ist es so, dass die App (für meine Begriffe recht komplex) ohne Plugin ca. 4-7 Sekunden braucht um zu starten. Mit dem Plugin schießt das Ganze dann auf 20-30 Sekunden hoch. Das Laden des Plugins bremst die App dermaßen aus, dass ich nun an dem Code der Plugin App ansetzen werde um hier die Performance wieder auf ein erträgliches Mass zu steigern.
Nun habe ich jedoch keinen genauen Überblick, wo genau die Flaschenhälse sind und will mir mit einem Performanceprofiler einen Überblick verschaffen. Nun gibt es ja verschiedene mehr oder weniger gute Profiler. Ich bin auf der Suche nach einem möglichst kostenlosen Programm. Bisher habe ich den InsightProfiler und Redgates ANTS ausprobiert. Weitere Performanceprofiler habe ich mal kurz angetestet, konnte aber nicht wirklich brauchbare Ergebnisse erzielen, wodurch ich dann auch recht schnell deren Namen vergessen habe. Den Profiler würde ich gerne nicht nur mal zum Testen verwenden, sondern mehr in meine tägliche Arbeit einbeziehen.
ANTS ist schon aus meiner Liste gefallen, kostet recht viel, für mich zu teuer. Der InsightProfiler ist in der kostenlosen Version stark eingeschränkt (nur 4 oder 5 Threads können untersucht werden). Die Analyse war auf den eigenen Code eingeschränkt, der Plugin Code (obwohl eigener Code) konnte nicht untersucht werden. Die Ausgabe war für die Methoden insgesamt und nicht wie bei ANTS zeilenbasiert. Kurzum bin ich auf der Suche nach einem Profiler der folgendes bietet:
- Analyse aller Threads einer App
- Analyse von eigenem und "fremden" Code
- Analyse möglichst zeilenbasiert
- per Reflection geladene Assemblies sollten ebenfalls analysiert werden können
Kennt ihr weitere Performanceprofiler, die es lohnen mal einen Blick darauf zu werfen?
Ach nochwas, zum Entwickeln der Applikation habe ich nur Zugriff auf Visual Studio 2010 Pro. Evtl. gibts da schon etwas, aber leider habe ich im Internet Tipps nur für "höhere" Editionen des Visual Studios gefunden.
Vielen Dank schonmal für das Lesen des Threads, wenn ihr noch einen Tipp habt, dann wäre ich euch sehr dankbar.
Gruß Rossibaer
PS: Wenn es hart auf hart kommt, werde ich wohl das ganze "von Hand" sprich mit eigenem Debug-Code ala StopWatch machen müssen, schön wäre aber ein brauchbares Tool, dass mir diese Vorgehensweise erspart.
nach langer Abstinenz wollte ich mich mal mit einer Frage melden...
Folgendes Problem habe ich:
Ich habe eine .Net Applikation (Windows Forms) erstellt. Diese kann zur Laufzeit dynamisch ein, sagen wir mal, "Plugin" für das Modul laden. Dies wird mittels Reflection erledigt. Nun ist es so, dass die App (für meine Begriffe recht komplex) ohne Plugin ca. 4-7 Sekunden braucht um zu starten. Mit dem Plugin schießt das Ganze dann auf 20-30 Sekunden hoch. Das Laden des Plugins bremst die App dermaßen aus, dass ich nun an dem Code der Plugin App ansetzen werde um hier die Performance wieder auf ein erträgliches Mass zu steigern.
Nun habe ich jedoch keinen genauen Überblick, wo genau die Flaschenhälse sind und will mir mit einem Performanceprofiler einen Überblick verschaffen. Nun gibt es ja verschiedene mehr oder weniger gute Profiler. Ich bin auf der Suche nach einem möglichst kostenlosen Programm. Bisher habe ich den InsightProfiler und Redgates ANTS ausprobiert. Weitere Performanceprofiler habe ich mal kurz angetestet, konnte aber nicht wirklich brauchbare Ergebnisse erzielen, wodurch ich dann auch recht schnell deren Namen vergessen habe. Den Profiler würde ich gerne nicht nur mal zum Testen verwenden, sondern mehr in meine tägliche Arbeit einbeziehen.
ANTS ist schon aus meiner Liste gefallen, kostet recht viel, für mich zu teuer. Der InsightProfiler ist in der kostenlosen Version stark eingeschränkt (nur 4 oder 5 Threads können untersucht werden). Die Analyse war auf den eigenen Code eingeschränkt, der Plugin Code (obwohl eigener Code) konnte nicht untersucht werden. Die Ausgabe war für die Methoden insgesamt und nicht wie bei ANTS zeilenbasiert. Kurzum bin ich auf der Suche nach einem Profiler der folgendes bietet:
- Analyse aller Threads einer App
- Analyse von eigenem und "fremden" Code
- Analyse möglichst zeilenbasiert
- per Reflection geladene Assemblies sollten ebenfalls analysiert werden können
Kennt ihr weitere Performanceprofiler, die es lohnen mal einen Blick darauf zu werfen?
Ach nochwas, zum Entwickeln der Applikation habe ich nur Zugriff auf Visual Studio 2010 Pro. Evtl. gibts da schon etwas, aber leider habe ich im Internet Tipps nur für "höhere" Editionen des Visual Studios gefunden.
Vielen Dank schonmal für das Lesen des Threads, wenn ihr noch einen Tipp habt, dann wäre ich euch sehr dankbar.
Gruß Rossibaer
PS: Wenn es hart auf hart kommt, werde ich wohl das ganze "von Hand" sprich mit eigenem Debug-Code ala StopWatch machen müssen, schön wäre aber ein brauchbares Tool, dass mir diese Vorgehensweise erspart.