2009-03-31

BuscarDuplicados 1 - FindRepe 0

Este domingo "juanlu" (un amigüete) hizo en 15 minutos un programa (en Visual Basic) que vencía al mio y además tenía ventanitas (por lo menos en su HD con sus ficheros, pero no lo pidáis que no hay versión distribuible de momento). Sí, estas cosas nos pasan a los programadores, te tiras días o semanas haciendo un programa y luego llega alguien y te lo tira por tierra en 15 minutos.

Tras analizar el problema, me di cuenta de que el método del resumen MD5, que resuelve bastante bien el problema de gestionar la comparación de ficheros de igual tamaño y contenido similar (sobre todo si hay muchos). Tiene algunas zonas de pobre rendimiento, como en este caso cuando hay ficheros muy grandes, pocas repeticiones y diferencias justo al principio, el proceso es poco eficiente. Y han aparecido casos antes de lo que esperaba.

Así que: BuscarDuplicados 1 - FindRepe 0

Pero no todo está perdido, no he tardado tanto en hacerlo por torpe (aunque alguno lo crea), sino porque he procurado que cosas como estas puedan ser corregidas facilmente. Dado que esto es una mejora y no un bug, tendrá que esperar a la versión 0.1.0

Por otro lado "Cesar" me confirmó que "C:\" no funciona como directorio, así que he tenido que investigar y es un bug de java que toma como ocultos los directorios raíz de las unidades (Root Files in plain geek). Así que otra modificación con la que lidiar (ya hay bastantes en la lista) esta al ser un bug (aunque de java) estará corregida para la versión 0.0.3

En otra entrada explicaré el sistema de numeración de las versiones.

2 comentarios:

Hermanisisimo dijo...

Hostias Paco, qué fracaso más absoluto tío. Nos han dejado K.O en 15 puercos minutos!
Manda Cojones.
Bueno, tranki, por lo menos el tuyo es multiplataforma y el de visual basic no!
confórmate con eso! XDDD

flikxxi dijo...

nada, nada, es una de las muchas batallas, y ya me esperaba algo así, son casos concretos.

Tengo pensado hacer un generador de ficheros para hacer tests, ficheros grandes, pequeños, repetidos, sin repeter, ... a ver quien es el que tiene mejor media sin casos de tiempo casi infinito o errores.

con un par :-)