elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Comprimir proceso en la RAM
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: Comprimir proceso en la RAM  (Leído 11,572 veces)
z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Comprimir proceso en la RAM
« en: 24 Julio 2013, 17:35 pm »

Hola buenas, quería saber si es posible ya que hice un programa que bueno añade contactos a Skype (y de por ahí me saqué una lista de más de 4000 contactos)

Agregue cosa de 2000 y cuando terminó de agregar gente, el proceso el exe pesaba cosa de 970 mb en la ram... Ya se que si comprimo el proceso, va a aumentar el rendimiento del procesador...

Hay alguna forma?

Un saludo.


En línea


Interesados hablad por Discord.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: Comprimir proceso en la RAM
« Respuesta #1 en: 24 Julio 2013, 18:11 pm »

No entiendo como puedes hacerte llamar "programador" en todos los lenguajes orientados a objetos que dices saber, cuando nisiquiera entiendes los conceptos básicos.

-> ¿Que es un Object?

-> New Operator

-> Disposing Objects

Citar
new Allocates memory for an object or array of objects of type-name from the free store and returns a suitably typed, nonzero pointer to the object.



Si alojas memória para un objeto de Skype4com, luego tendrás que liberar la memória del objeto después de haber terminado su utilización... ¿NO TE PARECE?



Nunca le hablo a nadie en plan: "Todos nacemos sabiendo esto, lammer", porque no me gusta la gente que habla como si fuesen superiores a otros, y yo no soy ningún Pro,
Pero es que tu proclamas y alardeas de saber mucho y luego nada Ikillnukes, nada de nada, déjate el copy/paste y lee un libro.


PD: Esta pregunta me ha sacado de quizio, lo siento mucho por las mayúsculas (son libres de editar el mensaje, moderadores).


« Última modificación: 24 Julio 2013, 22:37 pm por EleKtro H@cker » En línea



El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: Comprimir proceso en la RAM
« Respuesta #2 en: 24 Julio 2013, 21:35 pm »

Bueno, no creo entender bien por qué los contactos de te ocupan tanto espacio en tu aplicación, pero no creo que los necesites todos en memoria, si este es el caso lo que deberías hacer es guardarlos en disco y cargarlos en memoria sólo cuando los necesites.

Editado: Electro, esa tampoco es manera de responderle a alguien que está pidiendo ayuda.
« Última modificación: 24 Julio 2013, 21:43 pm por El Benjo » En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Comprimir proceso en la RAM
« Respuesta #3 en: 24 Julio 2013, 21:57 pm »

Es que ya le he sacado muchas veces de quicio xD

No yo me refiero en el mismo proceso.. Es que por cada contacto que agrega se añaden como cosa de 500kbs de ram :-\

PD: Eso es lo que pregunto si se puede comprimir... Ya se que existen los disposes y todo eso, y que en bruto no se puede comprimir el proceso en sí, se puede siempre probar a quitar sub-procesos, pero como ya sabrás los sub-procesos que yo tengo no son mas que 2 for each, un regex y una función para agregar gente...
« Última modificación: 24 Julio 2013, 22:58 pm por Ikillnukes » En línea


Interesados hablad por Discord.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: Comprimir proceso en la RAM
« Respuesta #4 en: 24 Julio 2013, 23:01 pm »

@ElBenjo
Creeme si te digo que soy muy tolerante y me gusta proporcionarle ayuda a los demás,

Pero una cosa es pedir ayuda para salir de un apuro, o pedir ayuda con intención de aprender, y otra cosa muy distinta es que alguien diga que se considera programador desde hace medio año o así, cuando nisiquiera se ha leido los operadores y encima hace este tipo de preguntas tán básicas!, es que todo lo haces a base de copy&pastes! ya basta tio, ¿Quien puede aguantar estas preguntas?, yo no!.

No yo me refiero en el mismo proceso.. Es que por cada contacto que agrega se añaden como cosa de 500kbs de ram :-\

Deberías leer los enlaces que te puse más arriba, leer sobre objetos en general, dejate de "comprimir proceso en ram" o "quitar subprocesos" y chorradas tremendas no tiene sentido nada de lo que estás diciendo, intenta entender LEYENDO y luego busca el fallo y arreglalo, libera el objeto!.

EDITO: no te vendria nada mal tampoco usar el analizador de código de VisualStudio.
« Última modificación: 24 Julio 2013, 23:06 pm por EleKtro H@cker » En línea



z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Comprimir proceso en la RAM
« Respuesta #5 en: 24 Julio 2013, 23:07 pm »

Hombre como quien dice año y medio... Tu ya sabes que me puse hace 3 días..

PD: Se puede liberar memoria mientras se hace el proceso sin que se cierre el form y todo eso?

PDS: Ara me leo el manual y salgo de dudas ;)

PDSS: Voy a salir un ratillo así que, puede que tarde algo más de lo esperado en contestar (Ya hasta mañana si eso xD)
En línea


Interesados hablad por Discord.
kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Comprimir proceso en la RAM
« Respuesta #6 en: 24 Julio 2013, 23:34 pm »

Ikillnukes, la mejor manera de no tener que "COMPRIMIR" (:lol) los datos en la RAM es escribir código funcional, el cual no provoque dichas fugas de memoria. Reutilización de Objetos, liberación de recursos. Vamos, un usar y tirar de toda la vida para que me entiendas :D

Aun así, podrías echarle un vistazo al Recolector de basura (Gargabe Colector), que es el encargado de liberar los objetos y recursos que tu aplicación no está utilizando. Es automático y trabaja en segundo plano, pero perfectamente lo puedes llamar desde tu aplicación, aunque yo lo considero una mala prática, ya que resta eficiencia y velocidad a la aplicación.

Saludos!
En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: Comprimir proceso en la RAM
« Respuesta #7 en: 24 Julio 2013, 23:37 pm »

...!!!

Llevas mucho, mucho tiempo programando en un lenguaje orientado a objetos sin saber que coj**** es un objeto, ¿Como es posible?, ahora te das cuenta que los copy&paste no te van a poder resolver todos tus problemas.

PD: Se puede liberar memoria mientras se hace el proceso sin que se cierre el form y todo eso?

A lo que llamas "proceso", indaga en esa subrutina, fíjate en lo que "abres" y en lo que "cierras" o lo que NO "cierras", eso es todo lo que necesitas saber.

Intenta entender como funcionan las cosas, no es necesario ser un experto, repito que yo no lo soy, pero todos podemos poner algo de nuestra parte para leer las definiciones, intentar entenderlas, y practicar códigos para aprender.

Saludos.
« Última modificación: 24 Julio 2013, 23:42 pm por EleKtro H@cker » En línea



kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Comprimir proceso en la RAM
« Respuesta #8 en: 25 Julio 2013, 00:21 am »

Y recuerda: mas importante que la prática es la teoría, sino es una pérdida de tiempo. No pierdes nada por leer un par de definiciones e intentar asimilarlas para entender el mundo de la POO (programación orientada a objetos).

En este mundo documentarse antes de implementar es esencial. Picar código es lo último que se debe de hacer, primero se debe exponer el problema y hallar una solución a éste. Si algo me ha enseñado esta vida es que aunque tengas una idea cojonuda, nunca la debes plasmar sin documentarla correctamente, ya que pierdes el tiempo escribiendo código que podría ser mas eficiente.

Dale, ponte las gafas si tienes, y a leer un poquito jeje seguro que algún día dejarás de preguntar por estos lares y serás capaz de programar sin ayuda.

Saludos!
En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: Comprimir proceso en la RAM
« Respuesta #9 en: 25 Julio 2013, 06:47 am »

Pues dejando a un lado si sabes o no hacer las cosas, quiero preguntarte algo sobre este programa tuyo en particular.

La manera en que tu aplicación almacena los contactos es mediante objetos? (Es decir, por cada contacto que agrega se hace más grande un arreglo de objetos de alguna clase que creaste tú o una tercera persona)

O sólo se agrega la dirección del contacto como un nuevo indice en un arreglo de Cadenas?

Utilizas más de un arreglo de cualquiera de los tipos mencionados antes durante el proceso? Me refiero a si cargas los datos en algún arreglo temporal antes del definitivo.

Y por último, tu proceso para cargar los contactos utiliza recursividad en alguna parte?

Cualquiera de los motivos mencionados anteriormente me parece buen candidato para que tu aplicación use tanta memoria.

Ah, se me olvidaba: en las respuestas anteriores se hacía mención de que sólo copeas código y esas cosas ¿Cuanto de ese código de tu aplicación es tuyo?

Un saludo y espero que no necesites demasiado de nuestra ayuda para resolver este problema.
En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines