Piense en los perfiladores como depuradores de errores de duración de ejecución. Los perfiladores también se implementan como depuradores, excepto que en lugar de permitirte detener el programa y husmear, simplemente lo dejan funcionar y llevan un registro de cuánto tiempo se gasta en cada parte del programa. Esto es particularmente útil si tiene algún código que se ejecuta más lento de lo que necesita para ejecutar, ya que puede averiguar exactamente a dónde va todo el tiempo, y concentrar sus esfuerzos en solucionar ese cuello de botella.
Muchos desarrolladores creen que debería nunca optimizar manualmente el código sin utilizar un generador de perfiles.
+1 por mencionar Firebug y explicar el perfil. – Ramesh