Hola Luis, primero que nada agradezco tu tiempo por probarlo y por venir a
responderme :-D ...como dije anteriormente soy muy nuevo....voy a revisar
eso porq la verdad es que si veo la ineficiencia de los algoritmos...me
gustaría saber como usar el ruby-prof para poder testear todo eso yo mismo
sin tener que joder por aca para q lo prueben.
Voy a leer la alternativa a FileRead supuse que eso era lo q me estaba
matando :P ...pero no se como "leer" de una manera menos costosa los
archivos, por lo cual voy a ver chuncks como me dijiste y el update al MD5.
Cambiaría el método entonces por una lista global como me aconsejas.
Pruebo y veo que onda...
Nuevamente.. mil gracias!!
On 9/1/07, Luis Lavena <[EMAIL PROTECTED]> wrote:
>
> On 9/1/07, Martin Sagastume <[EMAIL PROTECTED]> wrote:
> > Masomenos ya esta terminado...solo un pequeño problema jajaj demora mas
> de
> > 15 minutos en scannear mi carpeta personal /home/martin y encima se re
> > funde el micro..no puedo hacer mas nada!!! Siempre me canso y mato el
> > proceso ruby antes de dejarlo terminar...mi notebook es un celeron M de
> > 1.43ghz con 1GB DDR ...estaría bueno que alguien lo pruebe, es demasiado
> > ineficiente esto jeje
> >
>
> Martin, aunque en mi maquina (Windows) no se produce esto (por alguna
> razon el GC es mas eficiente) te hago unas sugerencias.
>
> Ya que podes encontrarte con archivos gigantezcos, te recomiendo no
> hagas File.read(), sino busques una alternativa streamlined.
> (leer chuncks y usar #update de la clase MD5).
>
> Segun ruby-prof:
>
> 0.37 0.11 0.11 0.00 0.00
> 65730 <Class::File>#extname
> 0.05 0.02 0.02 0.00 0.00 74947 String#==
>
> 65730 llamadas a extname! eso si que es expensive (y otras tantas a
> #== de String).
>
> En lugar de construir la lista de extensiones validas, podrias:
>
> class Dupes
> @@extensiones = %w{ .iso .img .mp3 .wav .wma .ogg .jpg .gif .png
> .jpeg .bmp .avi .mpg .wmv .cue .bin .rar .tar .jar .zip .7z .gz .bz2
> .cpkg .deb .rpm .pdf .spx .xcf .odt .rtf .odg .odp .ods .exe .msi .doc
> .pps .ppt .xls .nrg .tmp .dat .bak .sfv .m3u }
>
> y luego reemplazar todo el metodo esExtensionPermitida? por esto:
>
> def esExtensionPermitida?(dir)
> @@extensiones.include?(File.extname(dir))
> end
>
> Voy a correr unos benchs cuando tenga un tiempito y tiro otras
> sugerencias.
>
> --
> Luis Lavena
> Multimedia systems
> -
> Leaders are made, they are not born. They are made by hard effort,
> which is the price which all of us must pay to achieve any goal that
> is worthwhile.
> Vince Lombardi
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>
--
Martín Sagastume
094-575846
Montevideo - Uruguay
http://musicapastillera.blogspot.com
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar