Foros del Web » Programación para mayores de 30 ;) » Programación General »

Out of memory

Estas en el tema de Out of memory en el foro de Programación General en Foros del Web. Hola, mi problema es que llevo 2 años programando aplicaciones web, se me da bien programar y aprender nuevos lenguajes, pero creo que nunca he ...
  #1 (permalink)  
Antiguo 06/04/2006, 11:11
Avatar de chuscazo  
Fecha de Ingreso: abril-2004
Mensajes: 84
Antigüedad: 20 años
Puntos: 0
Out of memory

Hola, mi problema es que llevo 2 años programando aplicaciones web, se me da bien programar y aprender nuevos lenguajes, pero creo que nunca he sabido economizar mis scripts. Ahora tengo un gran problema, tengo un script muy grande, que necesita sacar mogollon de datos de una BBDD procesarlos crea na hoja excel y pegarla en el navegador. El caso es que va creciendo y llega a petar la memoria.

Los modulos que utilizo son:
use DBI;
use Spreadsheet::WriteExcel;
use CGI;
Me gustaria que me ayudarais a encontrar informacion para economizar mi script.
Creo que mi principal problema esta en la repeticion de consultas. Si sabeis de algun programa para depurar perl tambien me vendria bien.

Gracias
  #2 (permalink)  
Antiguo 06/04/2006, 14:08
 
Fecha de Ingreso: mayo-2003
Mensajes: 328
Antigüedad: 21 años
Puntos: 0
Hola:

Si quieres nos puedes mostrar las partes de tu código que consideras se pueden optimizar y ya te daremos nuestros comentarios.

Ahora, te recomiendo leer los siguiente tutoriales que te ayudarán a mejorar la manera en que programas en Perl:
http://perlenespanol.baboonsoftware....vo/000152.html
http://perlenespanol.baboonsoftware....ut/000020.html
http://perlenespanol.baboonsoftware....ut/000011.html


Saludos
__________________
Uriel Lizama, Perl Developer

Aprende Perl en Perl en Español.
  #3 (permalink)  
Antiguo 07/04/2006, 05:22
Avatar de chuscazo  
Fecha de Ingreso: abril-2004
Mensajes: 84
Antigüedad: 20 años
Puntos: 0
Gracias, uno de tus enlaces me ha abierto un poco las puertas.
Ahora estoy usando
use strict;
use warnings;

Con esto y el Perl Debugger a ver si lo arreglo. Pegaros el codigo me da mucho palo. Si llego a un punto muerto y no puedo mas os pedire esa gran ayuda.
Gracias por la rapidez.
  #4 (permalink)  
Antiguo 10/04/2006, 10:55
Avatar de chuscazo  
Fecha de Ingreso: abril-2004
Mensajes: 84
Antigüedad: 20 años
Puntos: 0
solucionado

Ya lo he conseguido solucionar. La clave estaba en que utilizaba arrays normales como arrays asociativos (HASH). Utilizaba los normales que ademas tenian indices del rango tipo 022001003, por lo que perl me creaba una array de 22.000.000 de elementos. Si lo multiplicamos por una matriz mas de este tipo mas alguno mas de orden 5. pues esta todo claro. Ahora a pesar de todo mi uso de memoria es de 7%. Esta mucho mejor.

Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:47.