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
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario