Podes probar con: http://pastie.org/224427

Probé con el código que sigue y a cantidad de hash llega hasta 243 (arrancando en 7). ¿Alguien sabe por qué no se libera la memoria cuando el hash sale de scope?

Parece que mientras "exista la llamada" no se libera la memoria.  Cambié el 
código para hacer postprocessing y ahora los valores son más lógicos, los hash suben 
hasta 20 nada más.

def recursiva n

if n > 1
  recursiva n - 1
  sleep 1
  otra n
end
end

Es como que una vez que se ejecutó 'otra' nada se libera hasta que la 
invocación de esa llamada no sale de scope.  No me suena muy lógico, porque al 
terminar 'otra' ya salen de scope todas sus variables, no hay valor de retorno 
...

Eduardo.

_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a