214 votos

¿Cuál es el mejor libre C Profiler para Windows?

Estoy buscando a un generador de perfiles a fin de encontrar el cuello de botella de mi c código. Me gustaría encontrar una buena herramienta intrusiva libre, no perfiles. Soy un desarrollador de juegos y utilizo PIX para Xbox360, y me pareció muy bueno, pero no es gratis. Sé que el Intel v-Tune, pero no es libre tampoco.

130voto

yrp Puntos 2931

Código AMD Analyst es libre, pero no tan avanzado como VTune. También hay Sleepy , que es muy simple, pero hace el trabajo en muchos casos.

59voto

lsalamon Puntos 5192

Muy Sleepy es un C / C perfilador CPU para sistemas Windows. (Gratis)

También puede utilizar GoogleTest , Testing Framework.

34voto

pauldoo Puntos 5020

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

Descargo de responsabilidad: yo escribí esto.

15voto

Arty Puntos 329

Hay una instrumentar (función exacta) del analizador para MS VC 7.1 y superiores llama MicroProfiler. Usted puede conseguir aquí (x64) o aquí (x86). Que no requiere ningún tipo de modificaciones o adiciones a su código y es capaz de mostrar la función estadística con llamadores y llamados en tiempo real sin la necesidad de cerrar la aplicación y detener el proceso de perfilado.

Se integra con visual studio, así que usted puede fácilmente activar/desactivar los perfiles para un proyecto (exe para el momento). También es posible instalarlo en la máquina limpia, sólo se necesita que el símbolo de información se encuentra junto con el ejecutable que se crea el perfil.

Esta herramienta es útil cuando aproximación estadística de muestreo perfiladores gusta mucho Sueño no es suficiente.

Comparación aproximada de muestra, que es mejor que AQTime (cuando se la invoca en instrumentar, en función del nivel de ejecución). El siguiente programa (optimización completa, inline movilidad) se ejecuta tres veces más rápido con micro-analizador de visualización de resultados en tiempo real, que con AQTime, la recolección de 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());
}

10voto

epotter Puntos 3235

Microsoft tiene el Windows Performance Toolkit .

Se requiere Vista, 2008, o Win7

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: