Tamaño de prog. en Memoria

25/04/2005 - 08:10 por EAzoft | Informe spam
Buenas:
Tengo un programa que con solo un mantenimiento abierto,
me ocupa en memoria 30Mb, me parecio demasiado pero lo
deje pasar.
Despues de ver una aplicacion realizada hace un año que
ocupaba 12 Mb, eso si con c++ builder, me empecé a
preocupar

¿se me esta escapando alguna configuracion en la
compilacion?

Si no es asi, deberia ser preocupante, pq no hago nada
del otro mundo, por lo que no comprendo como ocupa tanto,
y me da igual la gestion de memoria que realice .net,
sigue pareciendome demasiado.
Pensad que aun hay equipos con 128 Mb de ram y a un
cliente con dicha configuracion no tengo que imponerle
que cambie todos sus equipos, yo tambien tengo que hacer
un esfuerzo por mejorar mi software.

Gracias

Preguntas similare

Leer las respuestas

#1 Anonimo
25/04/2005 - 09:00 | Informe spam
Está compilado en modo Release ?

Qué referencias tienes en tu proyecto ?


Buenas:
Tengo un programa que con solo un mantenimiento abierto,
me ocupa en memoria 30Mb, me parecio demasiado pero lo
deje pasar.
Despues de ver una aplicacion realizada hace un año que
ocupaba 12 Mb, eso si con c++ builder, me empecé a
preocupar

¿se me esta escapando alguna configuracion en la
compilacion?

Si no es asi, deberia ser preocupante, pq no hago nada
del otro mundo, por lo que no comprendo como ocupa


tanto,
y me da igual la gestion de memoria que realice .net,
sigue pareciendome demasiado.
Pensad que aun hay equipos con 128 Mb de ram y a un
cliente con dicha configuracion no tengo que imponerle
que cambie todos sus equipos, yo tambien tengo que hacer
un esfuerzo por mejorar mi software.

Gracias
.

Respuesta Responder a este mensaje
#2 Rodrigo Corral [MVP]
25/04/2005 - 10:00 | Informe spam
No creo que sea significativo que tu programa ocupe 30 o 300 megas. Lo que
puede ser importante es que esa memoria crezca indefinidamente a medida que
usas el programa, es decir, que haya fugas. El recolector de basura y el
propio framework son lo suficientemente listos como para coger memoria y
cachear en ella cosas que se liberan cuando la memoria se necesita para otra
cosa. La politica biene a ser que si hay memoria libre se usa y si nadie la
necesita no perdemos el tiempo en liberarla, parece logico no?

Por cierto un magnifico articulo sobre el tema... en inglish eso si...
http://msdn.microsoft.com/msdnmag/i...fault.aspx

Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
Respuesta Responder a este mensaje
#3 Tristan
25/04/2005 - 10:02 | Informe spam
Bueno, si realmente te da igual dw que forma gestiona la
memoria, de poco te va a servir lo que te voy a decir,
pero bueno, es lo que hay.

Aunque no conozco tu aplicación, y no se si tendrás
objetos IDisposable no liberados, dataset excesivamente
grandes, o cualquier otra cosa similar, te puedo decir que
probablemente ese consumo de memoria no sea real. El
recolectopr de basura de .Net no libera memoria mientras
no sea necesario. Tu razonamiento de que hay equipos con
128MB, no tiene en cuenta que en esetos ese consumo de
memoria será mucho menor. Cuando realmente sea necesaria
la memoria, será liberada. En equipos con menos memoria,
por tanto el consumo será mucho menor.

Lo que ocurre es que si tu equipo de desarrollo tiene
mucha memoria, nunca se desperdiciará tiempo en liberar
recursos que no se necesitan. Ten en cuenta que es una
operación costosa que solo se realiza cuando es necesaria.
Respuesta Responder a este mensaje
#4 Juan Carlos
25/04/2005 - 13:54 | Informe spam
Debes de estar dejando muchos objetos y no los estas destruyendo. El Garbage
Collector elimina los objetos en memoria que no se han utilizado
recientemente(alguna manera de explicar esto), lo que puedes hacer es
invocar a el Garbage Collector para que elimine esas referencias de memoria
realmente, o puede hacer lo que te sugieren es destruir(mejor practica de
programacion) los objetos.
El Garbarge Collector lo puedes invocar.
Intenta esto:
GC.Collect();
y observa la memoria usada, esto no es bueno, no lo recomiendo, pero te
puede ayudar a descubrir posibles problemas en cuanto a manejo de memoria de
los objetos.
"EAzoft" escribió en el mensaje
news:1dd401c5495d$7f2e8af0$
Buenas:
Tengo un programa que con solo un mantenimiento abierto,
me ocupa en memoria 30Mb, me parecio demasiado pero lo
deje pasar.
Despues de ver una aplicacion realizada hace un año que
ocupaba 12 Mb, eso si con c++ builder, me empecé a
preocupar

¿se me esta escapando alguna configuracion en la
compilacion?

Si no es asi, deberia ser preocupante, pq no hago nada
del otro mundo, por lo que no comprendo como ocupa tanto,
y me da igual la gestion de memoria que realice .net,
sigue pareciendome demasiado.
Pensad que aun hay equipos con 128 Mb de ram y a un
cliente con dicha configuracion no tengo que imponerle
que cambie todos sus equipos, yo tambien tengo que hacer
un esfuerzo por mejorar mi software.

Gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida