Autor
|
Tema: Comprimir proceso en la RAM (Leído 11,572 veces)
|
z3nth10n
Desconectado
Mensajes: 1.583
"Jack of all trades, master of none." - Zenthion
|
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
Mensajes: 9.866
|
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 Objectsnew 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
|
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.comSí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
|
|
|
z3nth10n
Desconectado
Mensajes: 1.583
"Jack of all trades, master of none." - Zenthion
|
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
Mensajes: 9.866
|
@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
Mensajes: 1.583
"Jack of all trades, master of none." - Zenthion
|
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
Mensajes: 1.486
S3C M4NI4C
|
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 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
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.866
|
...!!! 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
Mensajes: 1.486
S3C M4NI4C
|
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
|
|
|
|
El Benjo
|
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.comSí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Inyección de archivos en un proceso [1 proceso 2 ejecutables]
« 1 2 3 »
Análisis y Diseño de Malware
|
[Zero]
|
24
|
20,967
|
14 Junio 2013, 15:09 pm
por Cromatico
|
|
|
Duda de proceso de mi programa y proceso system
Programación General
|
crazykenny
|
0
|
2,795
|
12 Abril 2011, 20:02 pm
por crazykenny
|
|
|
como hacer que un proceso ejecutado por otro proceso no sea hijo
Programación General
|
z_ane_666
|
0
|
2,231
|
8 Diciembre 2011, 02:36 am
por z_ane_666
|
|
|
como hacer que un proceso ejecutado por otro proceso no sea hijo
Programación C/C++
|
z_ane_666
|
2
|
3,796
|
9 Diciembre 2011, 15:24 pm
por z_ane_666
|
|
|
Crear proceso en C con Codeblocks que no muera al matar al proceso padre
Programación C/C++
|
DrKillador
|
6
|
4,631
|
15 Julio 2013, 13:39 pm
por DrKillador
|
|