mi programa consume muchos recursos

Iniciado por drakolive, 26 Diciembre 2008, 04:10 AM

0 Miembros y 1 Visitante están viendo este tema.

drakolive

resulta que estoy haciendo un programa que se encarga de transformar un texto a un formato y para esto analiza linea por linea de un archivo en forma secuencial.
el problema resulta que si el archivo tiene 40 kbs de texto, mi programa consume muchos recursos, el CPU esta al 100 %, por lo que la pc se vuelve algo lenta...
he probado con usar doevents, pero nose poque esto altera el funcionamiento del programa, hace como si cada linea no se ejecutara de forma secuencial, da la impresion de ejecutarse de forma aleatoria cada linea del programa.

ahora nose si usar la funcion sleep para parar el programa; pero el problema es que las modificaciones tienen que ser casi en tiempo real, polo que no se podria demorar mas de 3 segundos en realizar la misma operacion de examinar el texto...

que podria hacer? GRACIAS

CICOLO_111234

la forma secuencial con que has hecho?

lo + normal seria con un timer.

postea sino el codigo para q lo veamos...


Felices fiestas

Salu2

BlackZeroX

#2
No somos Adivinos ¬¬, postea una parte de tu codigo seguro algo traes mal o no se

De la nada uedo solo desirve esto:

Te tengo 2 formas con las cuales mejorar el rendimiento 1 lee solo la parte deseadda del archivo 2 trata de solo cargar partes del archivo trata de hacer por bits y no por Caracteres (ms-dos tiene una funcion para comparar dos archivos y decir si son iguales o no  y tiene una funcion que es por bytes y no consume recursos ademas de que es rapido)

o si lo prefieres puedes dejar que tu Aplicacion siga consumiento los recuersos y en caso puedes bajarle la prieridad cque le tomara el procesados a Tu aplicacion (Api: SetPriorityClass, y SetThreadPriority, GetCurrentThread, GetCurrentProcess, mm creo que se ocupan otras no recuerdo bien pero con estas se baja la prioridad de cClase tal y como lo harias con el Administrador de Tareas del Virus wue diga Windows. )

P.D. : Api-Gui por si acaso lo de Prioridad(Este ultimo no lo recomiendo ¬¬" pero aun asi lo digo por si acaso).

Saludos
The Dark Shadow is my passion.

seba123neo

Hola, no se para que tanto lio, pone el codigo y listo...no tiene porque ponerte la pc al 100 % ni en archivos de varios megas, debes estar haciendo algo mal, con un Do While lo recorres y no debe haber problema...

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

drakolive

Hola, gracias ya encontre mi problema...
lo que paso fue que habia usado algo como esto

while instr(1,sTexto,"mod") <>-1
...
wend

y funcionaa bien para pequeños textos, pero para un texto grande daba problema porque se quedaba colgado, le puse un doevents en el bucle y el programa no se colgaba pero se quedo parado....

despues de revisar bien donde se quedaba colgado el programa encontre que en ese trozo de codigo (que he puesto al principio de este post) habia algo incorrecto: -1; debe ser 0
lo que pasa que cmo tambien conozco otros lenguajes (java, php, c,c++, javascript) entonces estaba acostumbrado a usar -1 cuando se retornaba algo que no se habia encontrado...

Gracias =D