Domanda

Qualcuno può raccomandare un buon profiler di codice per C ++?

Mi sono imbattuto in Shiny - va bene? http://sourceforge.net/projects/shinyprofiler/

È stato utile?

Soluzione

Callgrind per Unix / Linux

DevPartner per Windows

Altri suggerimenti

Non specifico per C ++, ma il software CodeAnalyst di AMD è gratuito e ricco di funzionalità.

http://developer.amd.com/cpu/codeanalyst/ codeanalystwindows / Pages / default.aspx

Gprof se usi gcc. Potrebbe non essere facile da usare ma comunque utile.

Probabilmente sarai interessato a Intel VTune . Piuttosto utile e consente di raccogliere eventi di basso livello come i mancati riscontri nella cache, il che aiuta molto nell'ottimizzazione.

Quantify (parte del pacchetto IBM / Rational PurifyPlus) è un ottimo profiler, ma non proprio economico. È disponibile anche su diverse piattaforme: l'ho usato su Solaris, Windows e Linux.

Dipende da cosa devi fare:

  1. Misura, quindi puoi eseguire test di regressione per vedere se si sono verificati cambiamenti nelle prestazioni.
  2. Trova le ragioni per prestazioni non ottimali e ottimizzale.

Questi non sono gli stessi.

Per 1, utilizzare uno dei profiler consigliati.

Per 2, il profiler che preferisco di gran lunga è quello che hai già:
http://www.wikihow.com/Optimize-Your-Program%27s- prestazioni
Per vedere come va, guarda qui.

Per C ++, come per C # e qualsiasi linguaggio che incoraggi i livelli di astrazione, tali livelli possono o meno essere validi dal punto di vista dell'ingegneria del software, ma possono compromettere le prestazioni. Ogni chiamata di metodo è una deviazione nell'esecuzione del tuo programma e lo stile ti incoraggia a nidificare quelle cose, a volte inutilmente. Inoltre, lo stile ti scoraggia dal conoscere o dal prendersi cura di ciò che accade al loro interno. Potresti trovarli mentre creano ed eliminano gli oggetti sottostanti con una velocità e un livello di generalità ben oltre ciò di cui la tua applicazione ha veramente bisogno.

AQtime (per Windows)

Se si esegue una versione Premium di VS 2010, si ottiene un profiler con esso.

Ne ho anche usati un paio di altri gratuiti, ma non sono confrontabili con le navi MS. Utile come secondo parere però.

Se hai accesso a un Mac, ti consiglio di utilizzare Shark dal Strumenti CHUD.

È possibile utilizzare l'analizzatore presente in Sun Studio 12 su Linux o Solaris. È gratis. http://developers.sun.com/sunstudio/index.jsp

Se non riesci a trovare DevPartner è perché ci siamo trasferiti sotto una nuova proprietà. Visitate il nostro sito Web Micro Focus: http: // www. microfocus.com/products/micro-focus-developer/devpartner/index.aspx. Spina senza vergogna: lavoro nel team DevPartner. Le nostre tanto attese versioni a 64 bit di profilatori BoundsChecker e C ++ /. NET verranno spedite il 4 febbraio 2011. Abbiamo modificato il nostro modello di prezzi in modo da poter scegliere l'intera suite o solo il profiler delle prestazioni se è quello che ti serve. Controlla la nuova versione di DPS 10.5 quando sarà disponibile!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top