Puedes hacer una versión del programa que saque a pantalla (a la página web) los tiempos de ejecución de cada parte del programa, en lugar de la salida normal del programa.
Es decir, en lugar de sacar el código HTML y las fotos retocadas, en cada parte importante o en las funciones que sospechas que son lentas, generas una salida del tiempo que ha tardado en ejecutarse esa parte.
Los tiempos los mides con localtime(), que te dará una resolución en segundos (
Time::HiRes te dará mayor resolución si fuera necesario).
La salida la defines al principio como
text/plain. Y pones la variable
$| a 1 para que la salida a pantalla sea en tiempo real. Así vas viendo qué es lo que está haciendo.
Al final de cada sección, mides el tiempo que ha tardado en ejecutarse:
Using perl Syntax Highlighting
$ahora = localtime();
$lapso = $ahora - $antes;
print "Sección XXX: $lapso segundos\n";
$antes = $ahora; # para la siguiente secciónColoreado en 0.005 segundos, usando
GeSHi 1.0.8.4
El enlace que has puesto solo saca un número.