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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Duda de proceso de mi programa y proceso system
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda de proceso de mi programa y proceso system  (Leído 2,800 veces)
crazykenny


Desconectado Desconectado

Mensajes: 4.239



Ver Perfil WWW
Duda de proceso de mi programa y proceso system
« en: 12 Abril 2011, 20:02 pm »

Hola; el caso es que tengo una duda.
Bueno, ahora, lo que es mirando el uso de CPU de uno de mis programas (uno de consultas de datos de mi base de datos), pues me aparece algo extraño; os explico; el caso es que, bueno, dentro del programa, pues hay una rutina que te muestra las cartas de magic y yugioh que hay con uno o mas parametros X; por ejemplo, si insertas en el programa para que te muestren, yo que se, las cartas de color negro y que esten en español, pues te las muestra; hasta ahi bien; entonces, al principio del programa, puedes elegir que te las muestre ordenadas por orden de insercion (que muestra por orden de carta mas antigua insertada a la mas nueva), o bien, puedes hacer que te las muestre al azar, por lo que, en esta ultima opcion, lo que hace basicamente el programa, es ordenarlas a base de utilizar random; entonces, lo que me pasa es que, mientras el programa va "seleccionando" las cartas con el criterio de busqueda insertado (bueno, he puesto parametro X antes, espero explicarme), en este caso, todas las cartas que esten en Español, pues parece que el proceso "SYSTEM", comienza a utilizar entre un 17% y un 21% como mucho de la CPU, mientras que, el proceso de mi aplicacion, pues como que dificilmente sube del 00%, llegando, puntualmente, a estar entre el 01% y el 02%, y, cuando cierro la aplicacion en plena "tarea" de seleccion de cartas, pues como que el proceso "SYSTEM" vuelve a estar en uso al 00%, y bueno, la pregunta es, basicamente, ¿porque el proceso SYSTEM consume la cantidad de CPU que consume en vez de hacerlo el proceso de mi programa, que supongo que seria lo logico?.
Cabe destacar que la estructura del codigo es la siguiente:
Citar
         xdat#=-1
         For trcx#=0 To productos#
            poorrand#=0
            For trewor#=0 To base_term#
               If searching#(trewor#,0)=1
                  opcion_yy#=searching#(trewor#,1)
                  opcion_yz#=datos_de_productos$(trcx#,trewor#)
                  If opcion_yz#=opcion_yy#
                     poorrand#=poorrand#+1
                  EndIf
               EndIf
            Next
            If poorrand#=opciones_xx#
               If xdat#=-1
                  xdat#=xdat#+1
                  Dim predecesor#(xdat#)
                  predecesor#(xdat#)=trcx#
                  Goto predicin
               EndIf
               If xdat#>-1
                  Dim predecesor_b#(xdat#)
                  For trex#=0 To xdat#
                     opciones#=predecesor#(trex#)
                     predecesor_b#(trex#)=opciones#
                  Next
                  xdat#=xdat#+1
                  Dim predecesor#(xdat#)
                  xdat#=xdat#-1
                  For trex#=0 To xdat#
                     opciones#=predecesor_b#(trex#)
                     predecesor#(trex#)=opciones#
                  Next
                  xdat#=xdat#+1
                  predecesor#(xdat#)=trcx#
               EndIf
               .predicin
            EndIf
         Next
         If xdat#=-1
            Goto probe_dev
         EndIf
         Dim predecesor_b#(xdat#)
         For tr#=0 To xdat#
            .rechoice
            opciones#=Rand(0,xdat#)
            If predecesor#(opciones#)=-1
               Goto rechoice
            EndIf
            predecesor_b#(tr#)=predecesor#(opciones#)
            predecesor#(opciones#)=-1
         Next
Por cierto, mi CPU es un Core Duo de 2 nucleos a 2.4 GHZ, con 2 GB de RAM, por lo que, a fin de cuentas, el proceso SYSTEM utiliza una CPU al 40%, lo que serian unos 960 MHZ de esta.
Cabe destacar, que, bueno, tengo insertadas mas de 1200 y pico cartas, y la inmensa mayoria (sobre un 85/90% de estas) estan en Español, y, aparte de tardarme unos 117 segundos en clasificarlas en la RAM, pues por logica, a medida que se van insertando mas cartas, pues va mas lento.
Tambien decir que el codigo insertado para medir el tiempo lo he quitado, y que, curiosamente, aparte de consumir un tope de unos 13,6 MB el programa, lo que realmente va lento es el bucle For/Next que va reservando espacio en memoria para guardar las cartas, y no el codigo que he creado con el RND (random) para "desornenar" las cartas, y lo comento porque yo pensaba que seria al reves.
Gracias de antemano por vuestra atencion, y me disculpo por las molestias causadas.
Saludos.
-------------------------------------------------------------------------------------------------
Por cierto, se me olvido comentar que si pongo un bucle de 5 FOR/NEXT seguidos, en el sentido de uno detras de otro, con numeros muy altos (supongamos 10000), el proceso del programa consume todo un nucleo del sistema, y no el proceso SYSTEM.
Saludos.


« Última modificación: 12 Abril 2011, 20:08 pm por crazykenny » En línea

A nivel personal, lo que me da mas miedo no son los planteamientos y acciones individuales, sino las realizadas en grupo, ya que estas ultimas pueden acabar con consecuencias especialmente nefastas para todos.
Se responsable, consecuente y da ejemplo.
https://informaticayotrostemas.blogspot.com/

Mi canal de Youtube:

https://www.youtube.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Proceso de instalacio nde un programa.
Programación Visual Basic
Thaorius 2 1,425 Último mensaje 11 Noviembre 2005, 02:09 am
por Thaorius
Proceso system usa el cpu al 99% « 1 2 »
Windows
Aikanáro Anário 15 15,031 Último mensaje 11 Julio 2011, 16:50 pm
por zeroteck
Inyección de archivos en un proceso [1 proceso 2 ejecutables] « 1 2 3 »
Análisis y Diseño de Malware
[Zero] 24 21,007 Último mensaje 14 Junio 2013, 15:09 pm
por Cromatico
como hacer que un proceso ejecutado por otro proceso no sea hijo
Programación General
z_ane_666 0 2,237 Último mensaje 8 Diciembre 2011, 02:36 am
por z_ane_666
Duda personal sobre proceso de creación.
Foro Libre
m0rf 2 2,120 Último mensaje 16 Junio 2012, 22:04 pm
por m0rf
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines