Programmlaufzeit optimieren

Gast #1340595
Lesenswert?

Moin moin!

Ich mache mir gerade Gedanken darüber wie ich in einem relativ 
umfangreichen C++ Projekt die benötigte CPU Leistung optimieren kann.

Dazu müsste ich zum Beispiel herausfinden, wie oft bestimmte Funktionen 
aufgerufen werden und wie lang die Laufzeit von bestimmten Funktionen 
eigentlich ist.


Wie geht man bei sowas vor? Hab ihr irgendwelche Praxistipps für mich?
Gast #1340630
Lesenswert?

Ein Profiler bietet sich an. Dessen Zweck ist es nämlich, genau die 
gewünschten Informationen zu ermitteln.
Im Falle von gcc kann man mit der Option -pg übersetzen und linken, um 
Coe zu generieren, der Profiling-Informationen erzeugt, die dann mit 
gprof und/oder geeigneten graphischen Tools verwendet werden können. 
Speziell für Linux gibt's auch noch 'valgrind --tool=callgrind'.
Gast #1340677
Lesenswert?

Danke, Profiling ist schonmal ein gutes Stichwort.

@Mark: nein, VMTs werden nicht benutzt.

Als Compiler nutze ich den von MS Visual Studio 2008. Der scheint kein 
Profiling von Haus aus zu unterstützen. Aber es gibt ein Extratool vom 
MS zum Download. Ich werd das mal ausprobieren, ansonsten muss ich das 
halt mit dem GCC machen. Der Code ist zum Glück portabel ;)
#1340853
Lesenswert?

Klaus schrieb:
> Danke, Profiling ist schonmal ein gutes Stichwort.
>
> @Mark: nein, VMTs werden nicht benutzt.
>
> Als Compiler nutze ich den von MS Visual Studio 2008. Der scheint kein
> Profiling von Haus aus zu unterstützen. Aber es gibt ein Extratool vom
> MS zum Download. Ich werd das mal ausprobieren, ansonsten muss ich das
> halt mit dem GCC machen. Der Code ist zum Glück portabel ;)

CodeAnalyst von AMD ist ganz gut (und kostenlos)
http://developer.amd.com/cpu/CodeAnalyst/codeanalystwindows/Pages/default.aspx

oder VTune von Intel (allerdings nicht kostenlos)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren