programación - ¿Cuáles son algunos buenos perfiladores para C++ nativo en Windows?
programacion c++ ejemplos (8)
Estoy buscando un generador de perfiles para usar con C ++ nativo. Ciertamente no tiene que ser gratis, sin embargo, el costo sí tiene un factor en la decisión de compra. Esto es para trabajos comerciales, así que no puedo usar copias autorizadas personales o académicas.
Las características clave que estoy buscando son:
- Métricas de nivel de proceso
- Métricas de nivel de componente
- Métricas de nivel de línea
- Admite código de subprocesos múltiples
- Usabilidad
- Costo
- Se requiere soporte Visual Studio 2005 Professional (el soporte técnico VS 2008 es altamente deseable)
Utilicé VTune de Intel y Devpartner Performance Analysis Community Edition de Compuware.
VTune parecía muy poderoso pero tiene una curva de aprendizaje abrupta. También es muy "modular", por lo que debe averiguar qué partes necesita comprar.
DevPartner PACE fue bastante fácil de usar y ofrece todas las características clave; sin embargo, es solo una prueba de 45 días. La versión con licencia (DevPartner para Visual C ++ BoundsChecker Suite) cuesta aproximadamente $ 1400 por asiento, lo cual es factible pero un poco alto.
¿Cuáles son algunos buenos perfiladores para C ++ nativo y POR QUÉ ?
Ver también:
¿Cuál es tu herramienta de creación de perfiles favorita para C ++?
En Windows, GlowCode es asequible, bastante fácil de usar y ofrece una versión de prueba gratuita para que pueda ver si funciona para usted.
Pruebe Intel Parallel Studio. Actualmente, está en beta, pero el nombre Intel lo dice todo.
Definitivamente Visual Studio Team System. Con mucho.
Acabo de encontrar a Luke StackWalker en SourceForge ( http://lukestackwalker.sourceforge.net/ ). Desafortunadamente no tiene un "foco en el árbol secundario", pero sigue siendo práctico de usar, utiliza el servidor de símbolos (sugiero que lo configure de inmediato si aún no lo tiene), ofrece una visualización gráfica, ...
El inconveniente es que no muestra los tiempos acumulados (muestras) de las funciones secundarias.
Otra alternativa es "Very Sleepy" ( http://www.codersnotes.com/sleepy ). Puede mostrar los tiempos acumulados de los niños, pero desafortunadamente no usa el servidor de símbolos.
Muchas personas no están conscientes pero MSFT está haciendo un gran progreso al poner las mejores herramientas posibles para mejorar el rendimiento en manos de devlopers gratis :-). Nos están exponiendo a todos nosotros los aspectos internos del rastreo de Windows: ETW.
Es parte del nuevo SDK de Windows para el servidor 2008 y Vista. Simplemente impresionante y debe descargarse si su objetivo es analizar y perfilar el rendimiento en Windows (independientemente del idioma).
Consulte la documentación aquí antes de decidir descargarla:
También vale la pena mirar CodeXL, puede ejecutarse tanto en Linux como en Windows, aunque está dedicado principalmente a la depuración y perfilación de OpenGL / OpenCL, existe una opción de muestra basada en el tiempo para las CPU en la sección de creación de perfiles que puede ser útil. También es gratis y funciona mientras haya archivos pdb disponibles (bueno en Windows, no sé cómo funciona en Linux) (incluso para compilaciones de versiones con pdb).
Acabo de terminar la primera versión utilizable de CxxProf , una biblioteca portátil de perfiles instrumentados para C ++.
Cumple sus requisitos:
- Perfiles de aplicaciones multiproceso
- El soporte para perfilar múltiples procesos en la misma red está en camino
- Está escrito con la mejor usabilidad y la integración más fácil en mente
- Es gratis como en la cerveza y gratis como en el habla
- Funcionará con VS05, 08, 10, 12 y 13. Al igual que con g ++ en Linux. Actualmente se prueba con VS 2013 Express.
Ver el wiki del proyecto para más información.
Descargo de responsabilidad: soy el principal desarrollador de CxxProf
Escribí un analizador de código abierto win32 / 64 liviano, soporté tanto la CPU como el perfil de memoria, es similar con el generador de perfiles VS, pero con características únicas como el gráfico de llama de la CPU y los datos de memoria. está aquí: dprofiler