Estoy buscando un generador de perfiles para encontrar el cuello de botella en mi código C++. Me gustaría encontrar una herramienta de creación de perfiles gratuita, no intrusiva y buena. Soy un desarrollador de juegos, y uso PIX para Xbox 360 y me pareció muy bueno, pero no es gratis. Conozco el Intel VTune, pero tampoco es gratis.¿Cuál es el mejor generador de perfiles gratis de C++ para Windows?
Respuesta
CodeXL ha reemplazado a End Of Line'd AMD Code Analyst y ambos son gratuitos, pero no tan avanzados como VTune. También está Sleepy, que es muy simple, pero funciona en muchos casos.
he utilizado "TrueTime -.. Parte de la suite DevPartner de Compuware durante años Hay una [versión libre] (. Podría intentar Compuware DevPartner Rendimiento Comunidad Análisis Edición) disponibles
utilizo AQTime, es uno de las mejores herramientas de creación de perfiles que he usado. No es gratis pero puede obtener una versión de prueba de 30 días, por lo que si planea optimizar y perfilar solo un proyecto y 30 días son suficientes para usted, entonces le recomendaría usar esta aplicación. (http://www.automatedqa.com/downloads/aqtime/index.asp)
Solo esta herramienta me ayudó a crear un perfil compilado en modo de lanzamiento de aplicación web mixta (administrada y nativa) en IIS. – Monsignor
Es desafortunado que no sean compatibles con las personas que intentan evaluar su producto. –
Actualmente están ofreciendo una versión de prueba de 14 días con funcionalidad limitada. – Max
Microsoft tiene la Windows Performance Toolkit.
Se requiere de Windows Vista , Windows Server 2008 o Windows 7.
No es gratis :( –
¿Cómo es gratis? Es parte del SDK de Windows. Pude descargarlo sin ningún problema. (Es cierto que tenemos una suscripción a MSDN, por lo que algunas personas podrían tener una experiencia diferente que yo.) – epotter
Gratis o no, el enlace ya no funciona correctamente –
utilizo VSPerfMon que es la versión independiente de Visual Studio Profiler. Escribí una herramienta de GUI para ayudarme a ejecutarlo y mirar los resultados.
Proffy es bastante fresco: http://pauldoo.com/proffy/
responsabilidad: escribí esto.
Very Sleepy es un perfilador de CPU C/C++ para sistemas Windows (gratis).
CppCheck es un perfilador de CPU C/C++ estático para sistemas Windows (gratis).
Por favor, pruebe mi generador de perfiles, llamado cRunWatch. Solo se trata de dos archivos, por lo que es fácil de integrar con sus proyectos, y requiere agregar exactamente una línea para instrumentar un fragmento de código.
http://ravenspoint.wordpress.com/2010/06/16/timing/
Requiere la biblioteca Boost.
Hay un perfilador de instrumentación (función-precisa) para MS VC 7.1 y superior llamado MicroProfiler. You can get it here (x64) o here (x86). Es no requiere ninguna modificación o adiciones a su código y es capaz de mostrar estadísticas de la función con llamantes y llamadas en en tiempo real sin la necesidad de cerrar la aplicación/detener el proceso de creación de perfiles.
Se integra con VisualStudio, por lo que puede activar/desactivar fácilmente la creación de perfiles para un proyecto. También es posible instalarlo en la máquina limpia, solo necesita ubicar la información del símbolo junto con el ejecutable perfilado.
Esta herramienta es útil cuando la aproximación estadística de los perfiles de muestreo como Very Sleepy no es suficiente.
La comparación aproximada muestra que supera a AQTime (cuando se invoca en la instrumentación, ejecución a nivel de función). El siguiente programa (optimización completa, inlining discapacitados) se ejecuta tres veces más rápido con micro-de perfil que muestra los resultados en tiempo real, que con AQTime simplemente estadísticas que recogen:
void f()
{
srand(time(0));
vector<double> v(300000);
generate_n(v.begin(), v.size(), &random);
sort(v.begin(), v.end());
sort(v.rbegin(), v.rend());
sort(v.begin(), v.end());
sort(v.rbegin(), v.rend());
}
Es fácil de usar y tiene un perfil muy rápido. Solo un problema No resolví, es un problema que después de que terminé la depuración, la ventana del generador de perfiles no se cerró automáticamente y tienes que eliminarla a través del administrador de tareas (sin eso no puedes recompilar tu proyecto). –
Descubrí que después de cerrar mi aplicación con el botón CERRAR normal, la ventana del generador de perfiles también puede cerrarse regularmente. Pero cuando salgo de la aplicación mediante el acceso directo MAYÚS + F5 (comando Detener depuración VS), el botón de cerrar la ventana del perfilador está desactivado. –
No funciona con VS 2015. – rustyx
Puede utilizar EmbeddedProfiler, es gratis para Linux y Windwos.
El generador de perfiles es intrusivo (por funcionalidad) pero no requiere ninguna modificación de código. Simplemente agregue un indicador de compilador específico (-finstrument-functios para gcc/MinGW o/GH para MSVC) y vincule la biblioteca del generador de perfiles. Puede proporcionarle un árbol de llamadas completo o simplemente una lista de funciones útiles. Tiene su propia GUI de analizador.
I recomiendan altamente Windows Performance Toolkit (WPT) o Xperf
la línea de comandos registros de línea de comando herramienta xperf seguimiento de eventos para los registros de Windows (ETW) que pueden ser analizados usando la herramienta de interfaz gráfica de usuario xperfview.
El uso de stacktrace command line arguement ha demostrado ser una herramienta invaluable para mi empresa, ya que los perfiles y la solución de problemas de cuellos de botella. Una de las cosas más convincentes es que el WPT se puede instalar en cualquier entorno, incluso en el venerable Windows XP.
En Windows 8, el Analizador de rendimiento de Windows lleva a xperf a un nivel aún mayor.
Los números duros y las estadísticas proporcionadas en los registros de ETW son incomparables en detalle a excepción de Visual Studio Profiler (2010/2012) que también es genial pero no libre AFAIK.
Si usted nunca ha utilizado xperf ... no sabes lo que te falta
Bueno, sé que me falta la URL activa del sitio. –
Solía Luke Stackwalker y lo hizo el trabajo para mi proyecto de Visual Studio.
Otros proyectos interesantes son:
- 1. ¿Cuál es el mejor IDE gratis para aprender smalltalk?
- 2. ¿Cuál es el mejor (y gratis) intérprete de APL?
- 3. ¿Cuál es el generador predeterminado para CMake en Windows?
- 4. ¿Hay un generador de perfiles para el código de host de secuencias de comandos de Windows?
- 5. ¿Cuál es el mejor editor de PHP para Windows?
- 6. ¿Cuál es el mejor IDE para Python para Windows
- 7. ¿Cuál es el mejor cliente SFTP scriptable gratuito para Windows?
- 8. ¿Cuál es la mejor solución de VCS para Windows?
- 9. ¿Diseña Windows WPF gratis?
- 10. ¿Cuál es el mejor tutorial para aprender MPI para C++?
- 11. ¿Es el generador de analizadores ANTLR el mejor para una aplicación C++ con memoria limitada?
- 12. ¿Cuál es la mejor manera de tener diferentes perfiles para diferentes tipos de usuarios en django?
- 13. ¿cuál es el mejor complemento de comercio electrónico para WordPress?
- 14. ¿Cómo activo el generador de perfiles de la función PostgreSQL?
- 15. Utilizando el generador de perfiles "muy dormido" al perfil DLL
- 16. ¿Cómo debo interpretar el resultado del generador de perfiles ghc?
- 17. ¿Dónde puedo encontrar un generador de perfiles para aplicaciones C# para usar en Visual Studio 2008?
- 18. Windows Phone 7 - Generador de iCal - C#
- 19. ¿Cuál es el significado del tiempo general de simultaneidad de subprocesos en la salida del generador de perfiles?
- 20. ¿Cuál es la mejor manera de comparar programas en Windows?
- 21. ¿Cuál es la mejor API para combinar C + 11 asincrónico/futuros con IO asíncrono de Windows?
- 22. ¿Cuál es la mejor biblioteca de ortografía para C#?
- 23. ¿Cuál es el mejor enlace de OpenGL para Java?
- 24. ¿Cuál es el mejor analizador de XML para Perl?
- 25. ¿Cuál es el mejor editor para AutoHotkey?
- 26. ¿Cuál es el mejor recurso para aprender (N) ASM?
- 27. Mejor generador de GUI para Java/Swing
- 28. ¿Cuál es el mejor visor para NLog?
- 29. ¿Cuál es el mejor visualizador de clases de Java?
- 30. ¿Cuál es el mejor reproductor FLV de código abierto (embebido)?
Aquí está el enlace para CodeAnalyst: http://developer.amd.com/CPU/CODEANALYST/Pages/default. aspx – epotter
Intenté trabajar con él ahora, y no me gustó para nada. Ni siquiera podía entender cómo obtener el% de tiempo total de la función (incluidas las calles) que TrueTime podía hacer bien hace 10 años. –
Escribí una adaptación de sleepy que no depende de wxWidgets pero se ejecuta en la línea de comandos. Lo ejecuta durante un período de tiempo frente a un proceso en ejecución y luego, cuando lo detiene, obtiene las estadísticas de lo que el proceso estaba haciendo. No es intrusivo en el sentido de que no tiene que modificar el código de ninguna manera para usarlo, pero sí suspende sus subprocesos a medida que lee las pilas de llamadas. También necesita los archivos pdb disponibles para que pueda obtener resultados significativos, pero creo que eso se aplica a cualquier generador de perfiles. – CashCow