Pregunta

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 buena, gratuita y no intrusiva.Soy desarrollador de juegos, uso PIX para Xbox 360 y lo encuentro muy bueno, pero no es gratis.Conozco el Intel VTune, pero tampoco es gratis.

¿Fue útil?

Solución

CódigoXL ahora ha reemplazado el final de línea Analista de código AMD y ambos son gratuitos, pero no tan avanzados como VTune.También hay Somnoliento, que es muy simple, pero funciona en muchos casos.

Otros consejos

Muy somnoliento es un perfilador de CPU C/C++ para sistemas Windows (gratis).
CppCheck es un generador de perfiles de CPU C/C++ estático para sistemas Windows (gratis).

Proffy es bastante genial: http://pauldoo.com/proffy/

Descargo de responsabilidad:Yo escribí esto.

Existe un perfilador de instrumentación (función precisa) para MS VC 7.1 y superior llamado MicroProfiler. Puedes conseguirlo aquí (x64) o aquí (x86).Él no requiere modificaciones ni adiciones a su código y es capaz de mostrar estadísticas de funciones con personas que llaman y destinatarios en tiempo real sin necesidad de cerrar la aplicación/detener el proceso de creación de perfiles.

Se integra con VisualStudio, por lo que puede habilitar/deshabilitar 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 que se está perfilando.

Esta herramienta es útil cuando la aproximación estadística de perfiladores de muestreo como Very Sleepy no es suficiente.

Una comparación aproximada muestra que supera a AQTime (cuando se invoca en instrumentación, ejecución a nivel de función).El siguiente programa (optimización completa, inserción deshabilitada) se ejecuta tres veces más rápido con el microperfilador que muestra los resultados en tiempo real, que con AQTime simplemente recopilando estadísticas:

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());
}

Microsoft tiene la Kit de herramientas de rendimiento de Windows.

Requiere Windows Vista, Servidor Windows 2008, o Windows 7.

Una nueva incorporación es Brillante.

​​​​​

te lo recomiendo mucho Kit de herramientas de rendimiento de Windows (WPT) o XPERF

La herramienta de línea de comandos xperf registra registros de seguimiento de eventos para Windows (ETW) que se pueden analizar utilizando la herramienta GUI xperfview.

Usando argumento de la línea de comando de stacktrace ha demostrado ser una herramienta invaluable para mi empresa, ya que perfila y soluciona cuellos de botella.Una de las cosas más convincentes es que la TIP puede instalarse en cualquier entorno, incluso en los venerables Windows XP.

En Windows 8 el analizador de rendimiento de Windows lleva xperf a un nivel aún más alto.

Los números concretos y las estadísticas proporcionadas en los registros de ETW no tienen paralelo en detalle, excepto Visual Studio Profiler (2010/2012), que también es excelente, pero no es gratuito.

Si nunca has usado xperf…no sabes lo que te estás perdiendo

Utilizo AQTime, es una de las mejores herramientas de creación de perfiles que he usado.No es gratis, pero puedes obtener una prueba de 30 días, por lo que si planeas optimizar y crear perfiles de un solo proyecto y 30 días son suficientes para ti, te recomendaría usar esta aplicación.(http://www.automatedqa.com/downloads/aqtime/index.asp)

Pruebe mi generador de perfiles, llamado cRunWatch.Son solo 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.

solía Lucas Stackwalker e hizo el trabajo para mi proyecto de Visual Studio.

Otros proyectos interesantes son:

He usado "TrueTime - parte de la suite DevPartner de Compuware durante años.Hay una [versión gratuita] (puede probar Compuware DevPartner Performance Analysis Community Edition) disponible.

Utilizo VSPerfMon, que es el generador de perfiles de Visual Studio independiente.Escribí una herramienta GUI para ayudarme a ejecutarla y ver los resultados.

http://code.google.com/p/vsptree/

Puede utilizar EmbeddedProfiler, es gratuito tanto para Linux como para Windwos.

El generador de perfiles es intrusivo (por funcionalidad) pero no requiere ninguna modificación del 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.Tiene su propia GUI analizadora.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top