Algunas palabras acerca de la complejidad del script
En un servidor web típico, el script utiliza una cantidad de recursos aceptable (en términos de memoria y tiempo de procesador). Sin embargo, si tenemos que trabajar con un ordenador de vieja generación y/o una gran cantidad de directorios, no está de más considerar la posibilidad de lanzar el script una sola vez a fin de generar un mapa estático del sitio. El algoritmo utilizado actualmente es bastante complejo: para cada directorio es creado un espacio de nombres aparte con sus respectivos arrays de archivos y de subdirectorios, el cual es mantenido en memoria hasta que el último nivel de la estructura es alcanzado y procesado. Para leer el contenido de cada directorio creamos siempre un nuevo manipulador (handler).
A pesar de sus numerosos defectos potenciales, esta es la manera más sencilla de crear el mapa de un sitio web. Podríamos tratar de utilizar una iteración, lo que probablemente daría como resultado un código más compacto y con mejores características de uso del procesador y la memoria, pero también bastante más difícil de entender.
Para poder tener una idea de la rapidez de nuestro servidor web, añadiremos unas cuantas líneas de código que calculen el tiempo de ejecución del script (Listado 11)
Listado 12: Cálculo del tiempo de ejecución del script (ver también Figura 4)
<?php
$stime = gettimeofday();
[skrypt]
$ftime = gettimeofday();
$time = round(($ftime[sec] + $ftime[usec] / 1000000) +
- ($stime[sec] + $stime[usec] / 1000000), 5);
echo "<center>Tiempo de generación de la página: $time segundos.</center>\n";
?>
A este fin no necesitaremos más que registrar la hora al inicio y al final de la ejecución, y calcular la diferencia. Un script de este tipo es un buen indicador cuando hace falta diagnosticar problemas de eficiencia relacionados con sistemas de archivos o bases de datos.