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.
no deberían influir significativamente. Seguro, el programa quizas requiera de mas memoria para ejecutarse, pero la diferencia va a ser minima.
si no los invocas y no los utilizas, no debería dar problemas
Claro, algo así pensé. De acuerdo, gracias por las respuestas.
+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!
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...
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...
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"
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?
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.
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...
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
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..?
claro, no la hace, al menos no encontre nada en runtime (tiempo de ejecucion)
Bien grax
de nada