sábado, 26 de septiembre de 2009

Agilizando la ejecución del código

Nos interesa modificar nuestro actual código para que se compruebe fichero a fichero (de cada política) si excede el tamaño que queremos utilizar de la caché.

Tenemos dos posibles soluciones, adecuar parte de nuestro código actual, o hacer unos cambios mas significativos, presentamos ambos pseudocódigos posibles y los analizamos.

Posibilidad 1:
para cada fichero
calcula tamaño archivo
fin_para

para cada fichero
si total < espacio_libre
cachear todos los archivos
sino
si total_archivos+nuevo_archivo < espacio_libre
cachear archivo
sino
salir
fin_si
fin_si
fin_para

Posibilidad 2:

para cada fichero
si total+fichero < espacio_libre
cachear archivo
sino
salir
fin_si
fin_para

Podemos ver que la posibilidad 1 va a tener un tiempo de ejecución de n, donde n^2 serà la entrada de datos, en cambio la posibilidad 2 va a tener un tiempo de ejecución de n.

A parte realizamos pruebas de tiempo en ambos scripts, tanto en los casos en los que "tamaño total de todos los ficheros < espacio libre", como en los casos de "tamaño total de todos los ficheros > espacio libre", y en ambos casos comprobamos que el tiempo de ejeución con la posibilidad 2 es sensiblemente inferior al de la posibilidad 1

No hay comentarios:

Publicar un comentario