Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: Hola on November 10, 2017, 03:19:17 PM

Title: Rendimiento del programa
Post by: Hola on November 10, 2017, 03:19:17 PM

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.
Title: Re:Rendimiento del programa
Post by: JaViS on November 10, 2017, 03:25:51 PM
no deberían influir significativamente. Seguro, el programa quizas requiera de mas memoria para ejecutarse, pero la diferencia va a ser minima.
Title: Re:Rendimiento del programa
Post by: Futu-block on November 10, 2017, 07:24:22 PM
si no los invocas y no los utilizas, no debería dar problemas
Title: Re:Rendimiento del programa
Post by: Hola on November 11, 2017, 12:13:26 PM
Claro, algo así pensé. De acuerdo, gracias por las respuestas.
Title: Re:Rendimiento del programa
Post by: Arcontus on November 14, 2017, 09:38:39 PM
+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!
Title: Re:Rendimiento del programa
Post by: Drumpi on November 16, 2017, 12:20:27 AM
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...
Title: Re:Rendimiento del programa
Post by: SplinterGU on November 16, 2017, 06:14:11 PM
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...
Title: Re:Rendimiento del programa
Post by: 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"
Title: Re:Rendimiento del programa
Post by: 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?
Title: Re:Rendimiento del programa
Post by: Drumpi on November 17, 2017, 12:12:46 AM
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.
Title: Re:Rendimiento del programa
Post by: SplinterGU on November 17, 2017, 04:31:37 AM
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...
Title: Re:Rendimiento del programa
Post by: SplinterGU on November 17, 2017, 04:44:43 AM
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
Title: Re:Rendimiento del programa
Post by: Hola on November 17, 2017, 01:55:02 PM
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..?
Title: Re:Rendimiento del programa
Post by: SplinterGU on November 17, 2017, 02:46:23 PM
claro, no la hace, al menos no encontre nada en runtime (tiempo de ejecucion)
Title: Re:Rendimiento del programa
Post by: Hola on November 17, 2017, 04:16:06 PM
Bien grax
Title: Re:Rendimiento del programa
Post by: SplinterGU on November 17, 2017, 05:01:09 PM
de nada