Laden...

Mít dem VS Analayser die "performance fressenden funktionen" finden?

Erstellt von marcelws vor 18 Jahren Letzter Beitrag vor 18 Jahren 2.528 Views
M
marcelws Themenstarter:in
309 Beiträge seit 2004
vor 18 Jahren
Mít dem VS Analayser die "performance fressenden funktionen" finden?

hi jungs....ich hab hier ein riesiges problem...unzwar haben wir hier ein programm das äusserst lang....viiiiiiel zu lang für seine arbeit braucht. keiner weiss woran das liegen kann und so hab ich mir gedacht das find ich sicher mit dem analyser raus....so auf anhieb hilft der mir aber scheinbar nichts. kann ir wer helfen der sich mit sowas auskennt? ich brauche echt dringend eure hilfe...hier iss die bude am kochen 🙁

grüße
marcel

ps: was ich bräuchte wäre eine art übersicht welche funktion wie lang gearbeitet hat und so. wenn nicht mit dem tool...dann vlt mit einem anderen. das ich da nu auch die zeiten manuell messen könnte iss mir auch klar...thx for HELP

grüße
marcel

S
8.746 Beiträge seit 2005
vor 18 Jahren

Du brauchst einen PROFILER. Es gibt diverse am Markt, auch einige Freeware-Profiler. Ich persönlich setze die Compuware-Produkte ein. Da gibt es eine Freeware-Suite, die enthält auch den Profiler. Da bekommst du eine Übersicht über die verbrauchte Zeit und kannst auch die Ausführungszeiten direkt im Sourcecode betrachten (wieviel Zeit hat diese Zeile prozentual zur Gesamtzeit der Routine verbraucht).

1.271 Beiträge seit 2005
vor 18 Jahren

Hallo svenson,

Ich bin auch auf der Suche nach sowas. Kannst du bitte einen Link oder genaue Bezeichnung posten? Hab grad auf der Compuware-Website geschaut, aber (noch) nichts gefunden. Danke!

Gruß,
progger

A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.

M
456 Beiträge seit 2004
vor 18 Jahren

Ich kenn noch nen freien Profiler (vielleicht ganz nützlich): http://nprof.sourceforge.net/Site/SiteHomeNews.html

I am Jack's smirking revenge.
I am Jack's raging bile duct.
I am Jack's cold sweat.
I am Jack's complete lack of surprise.
I am Jack's broken heart.
I am Jack's wasted life.

2.082 Beiträge seit 2005
vor 18 Jahren

ich schließ mich progger an. Wär mal ganz interessant wenn das Ding wirklich so gut ist.

Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de

Q
992 Beiträge seit 2005
vor 18 Jahren

Clrprofiler von microsoft. ist open source. mal googeln!

1.271 Beiträge seit 2005
vor 18 Jahren

@ frisch: Danke für die Unterstützung 😉

@ maxE: Ich hab mir das Teil jetzt mal runtergeladen, aber irgendwie funktioniert das nicht so, wies soll. Da steht immer da "Waiting for Application...". Es profiled aber nie was. Vielleicht stell ich mich auch nur zu doof an, aber es wär nett, wenn du mir mal sagen könntest, wie ich das hernehmen muss. Danke!

Gruß,
progger

A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.

1.271 Beiträge seit 2005
vor 18 Jahren

Ich glaub ich stell mich wirklich zu doof an. Der CLR Profiler funktioniert auch nicht. Kann mir bitte wer sagen, wie man sowas macht. Vielen, vielen Dank.

A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.

M
marcelws Themenstarter:in
309 Beiträge seit 2004
vor 18 Jahren

hi....danke für den tipp. ich habe mir mal die website angeschaut...sprichst du von "DevPartner Studio" ?

das scheint wohl das sinnvollste zu sein...

gruß
marcel

S
8.746 Beiträge seit 2005
vor 18 Jahren

Ja, DevPartner Studio war es wohl. Der Profiler hat mir insofern am besten gefallen, weil er die Ausführungsgeschwindigkeit nur um den Faktor 2-3 verlangsamt (andere machen da mal locker Faktor 10), man kann die Profile abspeichern und später vergleichen. Schön eben auch die Angabe der Zeiten direkt im Sourcecode. Der Profiler integriert sich direkt in VS.NET, über einen Menüpunkt kann man das Starten mit und ohne Profiling umschalten (Profiling geht natürlich nur im Debug-Modus). Was allerdings die Freeware-Version nicht macht, ist das Beschränken des Profiling auf bestimmte Codeabschnitte. Der ist schon deswegen wichtig, da sonst die Hochfahrzeit der Anwendung mitgezählt wird. Bereits beim Starten einer leeren Consolen-Anwendung werden Tausende von Methoden bei der Initialisierung aufgerufen..... das kann u.U. die Suche nach Bottlenecks verkomplizieren, wenn sie nicht im eigenen Code liegen.

Der einzige Nachteil am DevPartner Studio ist, dass Compuware dich anruft, wenn deine Angaben zur Person auf eine Firma schliessen lassen. Die wollen halt ihre dicke Suite verticken. Sind aber sehr freundlich, auch wenn man sagt, dass die Freeware-Version ausreicht und man nix kaufen will. 🙂

Noch besser hat mir ANTS von Red Gate gefallen, aber die Demo-Version, die ich mal vor 2 Jahren ausgetestet hab, hat Schleifen nicht richtig gezählt (Durchlaufzähler immer 1). Vielleicht tut ers jetzt, aber das Ding ist auch kostenpflichtig.

1.274 Beiträge seit 2005
vor 18 Jahren

Hier die Links für den Profiler von Microsoft

Profiler von Microsoft Download

Introduction to the CLR Profiler

Webcast

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

S
8.746 Beiträge seit 2005
vor 18 Jahren

Hmmm, ist der MS-Profiler nicht ein Memory-Profiler? Der zeigt meines Wissens keinerlei Ausführungszeiten.....

"The CLR Profiler includes a number of very useful views of the allocation profile, including a histogram of allocated types, allocation and call graphs, a time line showing GCs of various generations and the resulting state of the managed heap after those collections, and a call tree showing per-method allocations and assembly loads."