Rendimiento del programa

Started by Hola, November 10, 2017, 03:19:17 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Hola


Hola de nuevo, esta vez traigo una pregunta en cuanto a rendimiento se refiere. Me explico, lo que quiero saber es si el hecho de armar muchos procesos en el código (no hablo de ejecutarlos o invocarlos, simplemente escribirlos) influye en el rendimiento del programa en si?


Ejemplo, escribo en mi codigo:


PROCESS nombreproceso()
BEGIN
....
//sentencias, etc


...


END


Y ese proceso lo tengo 50 veces escrito en mi código con diferente nombre. Nunca los invoco, no los utilizo, simplemente los tengo ahí escritos. Realmente no quiero borrar esos procesos así que.. Influye en el rendimiento del programa?


Gracias de antemano.

JaViS

no deberían influir significativamente. Seguro, el programa quizas requiera de mas memoria para ejecutarse, pero la diferencia va a ser minima.
Working on Anarkade. A couch multiplayer 2D shooter.

Futu-block

si no los invocas y no los utilizas, no debería dar problemas

Hola

Claro, algo así pensé. De acuerdo, gracias por las respuestas.

Arcontus

+1!

El programa resultante ocupara más memoria, pero hoy en día no va a ser un problema. Si no invocas los procesos, no gasta CPU tener las funciones precargadas en memoria de ejecución.

Un saludo!
5Leaps, el primer juego comercial desarrollado para BennuGD. http://www.5leaps.com

Drumpi

Yo te recomendaría que intentaras que esos procesos desaparecieran del código. Juntalos, bórralos, o lo que sea, pero a modo de ejercicio mental, intenta simplificar el código.

No digo que lo hagas, pero lo recomiendo para que vayas cogiendo buenos hábitos a la hora de programar, que a la larga lo vas a agradecer. Puede parecer una tontería, pero...
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

ahora mismo no recuerdo si en runtime hay, pero se me pudiera ocurrir alguna funcion que busque en la lista de tipo de procesos, eso quizas requeriria chequeos adicionales si hace esa lista mas larga... pero la verdad que no recuerdo si hay de eso en runtime...

seria bueno que borres esas funciones o las metas en un archivo tipo extras.prg o extras.inc e incluyas ese archivo cuando lo necesites... y si no lo usas pues no lo incluyes...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

panreyes

La verdad es que a la función let_me_alone le falta un parámetro que, dependiendo de una local, mate a ciertos procesos y a otros no.

Yo tengo hecho algo parecido en mis librerías, evita matar procesos que deben permanecer en cualquier caso con una local "unkillable"

Hola

Uhm claro, entiendo.. parece que sí influye en el rendimiento. De todas formas el ejemplo que puse fue nomas de supositorio, como para explicar la cosa. Una pregunta aparte para no hacer otro tema.., respecto a ELSEIF, hay alguna diferencia entre ELSEIF, ELSIF y ELIF? o es todo lo mismo con diferente nombre?

Drumpi

Panreyes, creo que eso llegó a implementarlo Splinter hace tiempo, mucho tiempo... me atrevería casi a decir en tiempos de Fenix o.O Me suena que metió una variable "máscara" o algo así entre las locales, o entre las reserved.
Pero vamos, que eso se puede emular si añades una local a todos los procesos, llámalo "máscara de interrupción", y antes de hacerle signal al proceso, comprueba si el valor está por encima o por debajo del nivel de prioridad que quieres permitir alterar.
Es como el tema de "restaurar" el estado anterior del signal: me suena que se pidió, pero ahí Splinter no le vio uso.

Respecto a elsif, me parece que todos son alias de lo mismo.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

Quote from: panreyes on November 16, 2017, 06:47:44 PM
La verdad es que a la función let_me_alone le falta un parámetro que, dependiendo de una local, mate a ciertos procesos y a otros no.

Yo tengo hecho algo parecido en mis librerías, evita matar procesos que deben permanecer en cualquier caso con una local "unkillable"

ya esta eso, hace mucho... los signal, sig_ign, y demas...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quote from: Hola on November 16, 2017, 08:31:46 PM
Uhm claro, entiendo.. parece que sí influye en el rendimiento. De todas formas el ejemplo que puse fue nomas de supositorio, como para explicar la cosa. Una pregunta aparte para no hacer otro tema.., respecto a ELSEIF, hay alguna diferencia entre ELSEIF, ELSIF y ELIF? o es todo lo mismo con diferente nombre?

perdon si me exprese mal, no dije que afecta, dije que quizas... que no me acordaba...

acabo de revisar y no encuentro que afecte, asi que perdon por el ruido...

elseif, elif, etc... son alias... como dijo drumpi
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Hola

Oh bien gracias. En efecto, Splinter, cuando dices "no encuentro que afecte" te refieres al hecho de que es lo mismo que yo escriba los 50 procesos sin usar en el código a que no los tenga ahí? No hace diferencia digamos..?

SplinterGU

claro, no la hace, al menos no encontre nada en runtime (tiempo de ejecucion)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Hola