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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.