Ver Mensaje Individual
  #14  
Antiguo 30-09-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.917
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por gdlrinfo Ver Mensaje
el tema es que estuve pensando como evitar copiarlo y lo único que se me ocurre es que a medida que va buscando lo archivos lee una el nombre repasándolo como una cadena de texto y compare .... pero me da la sensación que se haría extremadamente lento el copiado
En vez de "sensaciones" haz la prueba, mide y compara. NUNCA hagas cambios de desempeño basados en sensaciones, suposiciones y demas, y menos implementes las sensaciones que otros tienen de tus sensaciones!. Siempre se debe hacer profiling. Osea, porque supones que va a ser lento? Y si te *parece*, sabes realmente que es *rapido*?.

Por ejemplo, si no sabes a que tasa de MB/s se puede saturar el disco, no sabes si lo que haces es o no rapido. Una vez que sabes cual es el techo de desempeño, puedes realmenten empezar a tomar decisiones.

En especial, porque la mayor parte del tiempo las rutinas/subsistemas que uses son ya suficientemente rapidos y el problema esta principalmente en la eleccion de las estructuras de datos y algoritmos globales (no locales).

Con respecto a tu pregunta:

En vez de filtrar lo "invalido", filtro lo *valido*. Como sabes que algo es el dato correcto? Chequea contra eso y no al revez (lo invalido tiene una tendencia hacia el infinito!)

Puede ser con una mascara, una expresion regular o contra una BD en memoria (quizas usando un hashtable). Ya que el I/O (todo lo que sea manejo de archivos, sockets, BD, etc) tiende a ser lo mas lento, veraz que lo que sea que hagas en codigo tiene un impacto minimo.
__________________
El malabarista.
Responder Con Cita