Domanda

Sto cercando un profiler da utilizzare con C ++ nativo. Certamente non deve essere gratuito, tuttavia il costo tiene conto della decisione di acquisto. Questo è per lavoro commerciale, quindi non posso usare copie con licenza personale o accademica.

Le caratteristiche chiave che sto cercando sono:

  • Metriche a livello di processo
  • Metriche a livello di componente
  • Metriche a livello di linea
  • Supporta codice multi-thread
  • Usabilità
  • Costo
  • È richiesto il supporto di Visual Studio 2005 Professional (supporto VS 2008 Professional altamente auspicabile)

Ho usato Intel VTune e Compuware Devpartner Performance Analysis Community Edition.

VTune sembrava molto potente ma ha una ripida curva di apprendimento. Inoltre è molto "modulare" quindi devi capire quali parti devi acquistare.

DevPartner PACE è stato abbastanza facile da usare e fornisce tutte le funzionalità chiave, tuttavia è solo una prova di 45 giorni. La versione con licenza (DevPartner per Visual C ++ BoundsChecker Suite) è di circa $ 1400 al posto, il che è fattibile ma un po 'alto imo.

Quali sono alcuni buoni profiler per C ++ nativo e PERCHÉ ?


Vedi anche:

Qual è il tuo strumento di profilazione preferito per C ++

È stato utile?

Soluzione

Su Windows, GlowCode è conveniente, abbastanza facile da usare e offre una prova gratuita in modo da poter vedere se funziona per te.

Altri suggerimenti

Molte persone non sono consapevoli ma MSFT sta facendo grandi progressi mettendo gratuitamente a disposizione dei devlopers i migliori strumenti possibili per migliorare le prestazioni :-). Stanno esponendo a tutti noi gli interni della traccia di Windows: ETW.

perftools

Fa parte del nuovo Windows SDK per server 2008 e Vista. Semplicemente impressionante e deve essere scaricato se l'obiettivo è l'analisi delle prestazioni e la creazione di profili in Windows (indipendentemente dalla lingua).

Controlla la documentazione qui prima di decidere di scaricarla:

msdn doc

Prova Intel Parallel Studio. Attualmente è in beta, ma il nome Intel dice tutto.

http://www.intel.com/go/parallel

Ho appena trovato Luke StackWalker su SourceForge ( http://lukestackwalker.sourceforge.net/ ). Sfortunatamente non ha un 'focus sull'albero secondario', ma rimane utile da usare, usa il server dei simboli (ti suggerisco di configurarlo immediatamente se non lo hai ancora), offre una visualizzazione grafica, ...

Il lato negativo è che non mostra i tempi accumulati (campioni) delle funzioni figlio.

Un'altra alternativa è "Molto assonnato" ( http://www.codersnotes.com/sleepy ). Può mostrare i tempi accumulati dei bambini, ma sfortunatamente non usa il server dei simboli.

Vale anche la pena guardare CodeXL, può essere eseguito sia su Linux che su Windows, sebbene sia principalmente dedicato al debug e alla profilatura OpenGL / OpenCL, nella sezione di profilazione esiste un'opzione di esempio basata sul tempo per le CPU che potrebbe essere utile. È anche gratuito e funziona fintanto che i file pdb sono disponibili (bene su Windows, non so come funziona su Linux) (anche per build di rilascio con pdb).

Sicuramente Visual Studio Team System. Di gran lunga.

Ho appena finito la prima versione utilizzabile di CxxProf , una libreria di profilazione portatile e strumentata manuale per C ++.

Soddisfa i tuoi requisiti:

  • Profili applicazioni multithread
  • È in arrivo il supporto per la profilazione di più processi nella stessa rete
  • È scritto con la migliore usabilità e la più semplice integrazione in mente
  • È gratis come nella birra e gratis come nei discorsi
  • Funzionerà con VS05,08,10,12 e 13. Così come con g ++ su Linux. Attualmente è testato con VS 2013 Express.

Vedi project wiki per maggiori informazioni.

Disclaimer: sono lo sviluppatore principale di CxxProf

Ho scritto un profiler leggero open source win32 / 64, supporta sia il profilo della CPU che della memoria, è un po 'simile con il profiler VS, ma con funzionalità uniche come il grafico a fiamma della CPU e dati di memoria. è qui: & # 12288; dprofiler

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