macos profiling

macos - Perfilado de c++ en mac os x



profiling (3)

Instrumentos es la herramienta para usar. Para solucionar el problema de las trazas en blanco, asegúrese de abrir Instrumentos desde dentro de XCode:

Xcode > Open Developer Tool > Instruments

Si abre Instruments desde un antiguo ícono de Instruments que fijó en su dock antes de la última actualización de XCode, le dará trazas en blanco.

Estoy intentando perfilar algún código de C ++ en mi mac (os x Lion) y no he podido encontrar nada útil. Estoy buscando un generador de perfiles que me diga qué funciones están ocupando mi tiempo de CPU (similar al profiler de matlab).

Esto es lo que he intentado

  • gprof. Esto es lo que uso en mi máquina Linux, pero solo me da salida vacía en mi mac (aparentemente un problema conocido)
  • Instrumentos. No puedo entender cómo hacer un perfil de cualquier cosa dentro de mi binario compilado. Tampoco puedo encontrar ningún tipo de tutorial útil.
  • (Otra búsqueda reveló Shark, que ya no está disponible y Valgrind, que es para memoria).

Realmente aprecio la ayuda!


Instrumentos es la herramienta para usar. Una explicación completa de los instrumentos está fuera del alcance de esta respuesta, pero aquí hay una guía de inicio rápido:

  1. Instrumentos abiertos. 1
  2. Seleccione la plantilla "Time Profiler".
  3. Seleccione su aplicación en el menú desplegable "Destino". 2
  4. Presione el botón de círculo rojo ("grabar") para iniciar la ejecución de la aplicación.
  5. Si corresponde, haga algunas cosas en su aplicación que necesita para crear un perfil.
  6. Presione el botón de grabación nuevamente para detener la grabación.
  7. Usa las herramientas en Instrumentos para analizar tus resultados.

De las herramientas disponibles, las que serán más útiles son:

  • Expandiendo el árbol de llamadas usando las flechas de divulgación
  • Hacer clic en la flecha en un círculo sobre el nombre de una función para enfocarlo
  • Hacer doble clic en una función para ver la fuente asociada
  • La casilla de verificación "Invertir árbol de llamadas" en el lado izquierdo

1 Una forma sencilla de abrir Instruments es utilizar Spotlight: simplemente haga clic en la lupa en la esquina superior derecha de la barra de tareas (al lado del reloj) y escriba "Instrumentos".

2 Haga clic en "Elegir destino ..." y navegue hasta la ruta de su ejecutable.


Los instrumentos realmente son la respuesta correcta, pero si no puede descubrir cómo usarlos, entonces otra opción es el generador de perfiles en la aplicación integrada Monitor de actividades. En Activity Monitor puede obtener información sobre cualquier proceso en ejecución y hay un botón para muestrear su ejecución por un tiempo. Tendrá que iniciar su programa, cambiar a Activity Monitor, encontrar el proceso y luego probarlo.

Además, puede hacer ''perfiles de pobres'' simplemente ejecutando el programa en un depurador y pausándolo manualmente media docena de veces y observando la pila de llamadas en esos momentos. Es muy simple pero funciona sorprendentemente bien como primer paso para una fracción significativa de programas.