![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Profiling en Linux usando "perf" (ver qué funciones están gastando el timpo de CPU)Fuente: 1, 2Es una utilidad con la que, si has compilado tus fuentes con -fno-omit-frame-pointer, hace un sampling cada "n" ms de en qué función está tu programa, y luego te da un informe de qué funciones son las que usan más tiempo de ejecución. Preparación 1. Asegurarse que la versión del núcleo de Linux es mayor o igual a 2.6.32 (para versiones anteriores hay que usar un programa diferente, el "oprofile"). 2. Hay que modificar el Makefile para que el compilador, en vez de ser "gcc", sea gcc -fno-omit-frame-pointer 3. Borar los .o antiguos y recompilar para que todos los objetos estén generados con la opción que le hemos puesto al gcc Uso (Poniendo el pid en el sitio se se indica) sudo perf top -p <PID_DE_MI_PROGRAMA> -K NOTA: El perf está instalado en FrontPCI02; para otros equipos habría que instalarlo. |