Forum: PC-Programmierung Programmlaufzeit optimieren


von Klaus (Gast)


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?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Du willst also ein Profiling machen. Manche Compiler unterstützen das 
von Hause aus, andere kann man mit Zusatztools dafür aufpeppen.

von Mark B. (markbrandis)


Lesenswert?

Benutzt Du VMTs?

von Rolf Magnus (Gast)


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'.

von Klaus (Gast)


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 ;)

von Arc N. (arc)


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)

von Gast (Gast)


Lesenswert?

Arc Net (arc) wrote:

> CodeAnalyst von AMD ist ganz gut (und kostenlos)

Läuft soweit erst ab XP. Gibt es auch was, was noch unter W2k läuft?

von gast (Gast)


Lesenswert?

Ja, der Profile vom VisualStudio.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.