Seite 1 von 1

Profiling?

Verfasst: 01.12.2009, 17:56
von odenter
Hi,

mich würde mal interessieren welche Tools Ihr dafür benutzt, natürlich für unmanaged c++ unter Windows?
Bisher habe ich immer mit dem MSVC gearbeitet, hab mich jetzt aber ein bischen mit Eclipse CDT (MinGW) beschäftigt und das gefällt mir ganz gut. Allerdings suche ich noch einen brauchbaren Profiler für meinen Code, kann da jemand mit Empfehlungen dienen?

Re: Profiling?

Verfasst: 01.12.2009, 18:07
von kimmi
Ich habe schon verschiedenste Tools durchprobiert:
1.) CodeAnalyst von AMD, da kostenlose Nutzung möglich ( Win32 ) und einfach aufzusetzen.
2.) Im Job VTune, da dort der Intel-Compiler zur Verfügung stand und ich privat nicht so viel Geld ausgeben wollte ( Win32 ).
3.) Unter Linux gprof ( ist Teil der GNU-Tools und daher OpenSource ), ist aber konsolenlastig und man muß alles mit einem speziellen COmpilerflag bauen.
4.) Für einfaches Profiles ( Zeit + Anzahl Calls ) eigenes Tool.
5.) Profiling-Tools von Google: http://code.google.com/p/google-perftools/ ( portabel ).

Das habe ich alles je nach Bedarf, Verfügbarkeit bzw. Experimentierfreude oder Vorgabe durchprobiert. Am einfachsten zum schnellen Auffinden von Bottlenecks benutze ich sehr oft CodeAnalyst.

Gruß Kimmi

Re: Profiling?

Verfasst: 01.12.2009, 18:29
von Schrompf
Als nicht-eindringende Profiler für den schnellen Blick auf Einzelthread-Anwendungen benutze ich LTProf oder Very Sleepy. Beide arbeiten auf Sample-Basis, nehmen also von außen ein paar hundert Mal pro Sekunde den Callstack Deines Prozesses - für sinnvolle Ergebnisse muss man schon mal 10 Minuten in der Landschaft rumgucken. Dafür sind sie kostenlos und einfach zu benutzen.

Vom DevPartner Profiler gab es früher mal eine kostenlose Community Edition, aber die ist den Weg aller wirklich nützlichen Tools gegangen: die freie Version wurde immer eingeschränkter, irgendwann gab es sie nicht mehr, und inzwischen ist die Firma in irgendwas Consulting-Artigem aufgegangen. Schade drum.

Den AMD CodeAnalyst habe ich nicht so wirklich gemocht - ich habe aus dem nie verwendbare Daten rausbekommen. Intels VTune soll sehr geil sein, aber im auch auf GameDev.net gerade laufenden Thread zu Profilern wurde nicht mehr sonderlich gut von VTune gesprochen. Ich habe ihn lange nicht mehr in der Hand gehabt - ohne Firma im Rücken kann man sich den nicht leisten.

Re: Profiling?

Verfasst: 01.12.2009, 18:36
von odenter
Ich habe noch Zugriff auf eine ältere V-Tune Version, ist auch ganz brauchbar, hätte aber schon gerne was kostenfreies für zuhause. :)
Very Sleepy habe ich heute mal kurz ausprobiert, sah ganz brauchbar aus, allerdings hatte ich noch ein Problem mit den Funktionsnamen (vermutlich eine fehlende Compiler-Option) hab allerdings auch noch keine Art von Doku gelesen sondern einfach drauflso probiert.

EDIT:
CodeAnalyst scheint nur AMD-CPU's zu unterstüzen, damit fällt das schonmal aus.

EDIT die 2:
Ich glaube in der MSVC Team-Studi ist ein Profiler, zumindest stand da irgendwas bei den Features, muss ich morgen auf der Arbeit nochmal genau gucken.

Re: Profiling?

Verfasst: 01.12.2009, 18:39
von Lord Delvin
Ich meine mich zu erinnern, dass es von V-Tune Studentenversionen gibt. Allerdings find ichs komisch, dass es in dem MSVC Sumpf keinen integrierten profiler wie im gcc gibt.

Spricht was dagegen in ner VM KCachegrind laufen zu lassen? Ist halt Linux only, aber hat mir eigentlich immer sehr gute Dienste geleistet. Zumal man den memchecker von valgrind auch ziemlich gut zum debuggen verwenden kann weil er dir eigentlich immer schon sagt, wo du den fehler gemacht hast.
Gruß

Re: Profiling?

Verfasst: 01.12.2009, 19:27
von kimmi
Ich benutze den CodeAnalyst mit einer Intel-CPU, ist kein Problem.

@Schrompf: LTProf oder Very Sleepy lohnen sich? Das ist gut zu wissen, die probierte ich glatt mal aus.

Gruß Kimmi

Re: Profiling?

Verfasst: 01.12.2009, 19:49
von odenter
kimmi hat geschrieben:Ich benutze den CodeAnalyst mit einer Intel-CPU, ist kein Problem.

@Schrompf: LTProf oder Very Sleepy lohnen sich? Das ist gut zu wissen, die probierte ich glatt mal aus.

Gruß Kimmi
Ah ok, war etwas verwirrt. Auf der HP steht nämlich was von x86 CPU und dann wiederum nur von AMD. Werde ich dann mal testen. LTProf sieht auch nicht schlecht aus.