Problemas de muestreo de tiempo con gprof
Estoy intentando perfilar algún código de c ++, compilado con g ++ que incluye la opción -pg, usando gprof. Sin embargo, a pesar del hecho de que el programa tarda entre 10 y 15 minutos en ejecutarse en mi computadora (con la CPU al máximo), las columnas de% de tiempo, segundos acumulativos y segundos de la tabla producidos por gprof son completamente 0.00s. La columna de llamadas contiene datos de aspecto correcto, por ejemplo, más de 150,000 llamadas a una función básica. Aquí hay una muestra de los datos recopilados:
% cumulative self self total
time seconds seconds calls Ts/call Ts/call name
0.00 0.00 0.00 156012 0.00 0.00 perm::operator[](int) const
0.00 0.00 0.00 153476 0.00 0.00 perm::perm(void)
El programa no usa cadenas y el único #include es iostream (solo se usa para generar la respuesta final), por lo que no puede ser lento debido a que la cadena encuentra y compara u otras funciones externas lentas similares como se sugiere en esta pregunta:incapaz de acumular tiempo usando gprof - el generador de perfiles gnu
El programa en sí sale bien y no tengo ninguna razón para creer que los datos del perfil no se escriben correctamente (como se sugirió aquí:gprof informa que no hay tiempo acumulado)
Como todo esto se está haciendo en Windows 7, intentar usar Shark o Valgrind no es una opción.
¿Hay alguna razón por la que está grabando 0.00s gastados en cada función?