2011-08-07 8 views
7

estoy escribiendo STL sólo C++ aplicación en Mac (OS X Lion/XCode 4.1). Necesito responder una pregunta simple: ¿qué partes de código deben optimizarse? Gprof hace salida vacía, los instrumentos de XCode no ayudan. ¿Qué herramienta necesito usar?C++ perfiles en mac

+0

¿Qué quiere decir con "salida de vacío"? Creo que tal vez su pregunta debería ser "¿Cómo hago para que gprof funcione?" –

+0

Parece que http://pastebin.com/EUhfSmLa – sashab

+1

Instruments funciona muy bien para mí. – LaC

Respuesta

4

Uso tiburón. Está en /Developer/Applications/Performance Tools

muy fácil de usar. Más aquí: http://developer.apple.com/tools/sharkoptimize.html

+1

Desafortunadamente, esta solución es obsoleta. Shark ha sido reemplazado por Instruments (http://stackoverflow.com/a/8349036/130427). Los instrumentos no parecen poder hacer referencia a llamadas a funciones específicas de la forma en que lo haría Shark. –

0

Incluso si gprof estaban trabajando, it would probably not be much help.

El método Confío en que, para cualquier idioma y el sistema operativo, es random pausing.

Así es como funciona. Si toma varias muestras de la pila en tiempo aleatorio, las llamadas a funciones derrochadoras o E/S aparecen en proporción a la fracción de tiempo que desperdician. Tiene la ventaja de que las declaraciones problemáticas se identificaron, en lugar de hacer que la caza dentro costosos rutinas.