Profiling?

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.
Antworten
odenter
Establishment
Beiträge: 207
Registriert: 26.02.2009, 11:58

Profiling?

Beitrag 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?
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Profiling?

Beitrag 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
Benutzeravatar
Schrompf
Moderator
Beiträge: 4856
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Profiling?

Beitrag 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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
odenter
Establishment
Beiträge: 207
Registriert: 26.02.2009, 11:58

Re: Profiling?

Beitrag 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.
Zuletzt geändert von odenter am 01.12.2009, 18:51, insgesamt 2-mal geändert.
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

Re: Profiling?

Beitrag 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ß
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Profiling?

Beitrag 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
odenter
Establishment
Beiträge: 207
Registriert: 26.02.2009, 11:58

Re: Profiling?

Beitrag 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.
Antworten